PyQT学习笔记

左边的控件是 QDial , 右边的控件是 QSpinBox 。两者相互关联,转动刻度右边的数字随之改变,改变右边的数字,左边的刻度盘也跟着转到指定位置。

代码

复制代码
import sys
from PyQt5.QtWidgets import QApplication, QWidget,QHBoxLayout,QSpinBox,QDial

class MyWindow(QWidget):
    def __init__(self):
        # 切记一定要调用父类的__init__方法,因为它里面有很多对UI空间的初始化操作
        super().__init__()

        # 设置大小
        self.resize(300, 300)
        # 设置标题

        h_layout = QHBoxLayout() 
        self.spinBox = QSpinBox()
        self.dial = QDial()
        h_layout.addWidget(self.dial)
        h_layout.addWidget(self.spinBox)
        self.setLayout(h_layout)
        self.spinBox.valueChanged.connect(self.changed_spinBox)
        self.dial.valueChanged.connect(self.changed_dial)

    def changed_spinBox(self, value):
        # 槽函数,点击按钮则调用该函数
        self.dial.setValue(value)
        # 这里的参数正好是信号发出,传递的参数
        print("数值改变啦", value)

    def changed_dial(self, value):
        # 槽函数,点击按钮则调用该函数
        self.spinBox.setValue(value)
        # 这里的参数正好是信号发出,传递的参数
        print("数值改变啦", value)


if __name__ == '__main__':
    app = QApplication(sys.argv)   #只要是QT制作的app,必须只有一个QApplication对象

    w = MyWindow()             #创建一个 QWidget 对象
    # 设置窗口标题
    w.setWindowTitle("作业")
    # 展示窗口
    w.show()

    # 程序进行循环等待状态
    app.exec()             #程序开始运行
相关推荐
xieliyu.13 分钟前
Java手搓数据结构:从零模拟实现顺序表增删改查
java·开发语言·数据结构·学习·顺序表
楼田莉子18 分钟前
仿muduo库的高并发服务器——正则表达式与any类介绍及其简单模拟实现
linux·服务器·c++·学习·设计模式
xiaoxiaoxiaolll20 分钟前
《Nature Communications》:集成热光调制与3D空间并行的光子神经网络芯片
学习
码喽7号25 分钟前
JsonWeb token(JWT)跨域认证
spring boot·学习
YaBingSec27 分钟前
玄机靶场-第三届-长城杯-初赛-SnakeBackdoor WP
java·运维·笔记·tomcat·ssh
叼烟扛炮28 分钟前
【C 语言系统入门教程】第 19 讲:数据在内存中的存储 | 零基础学习笔记
c语言·学习·数据存储·原码反码补码·大小端字节序·浮点数存储
斯维赤28 分钟前
Python学习超简单第八弹:网络编程
网络·python·学习
handler0110 小时前
从源码到二进制:深度拆解 Linux 下 C 程序的编译与链接全流程
linux·c语言·开发语言·c++·笔记·学习
电子云与长程纠缠10 小时前
UE5 两种方式解决Decal Actor贴花拉伸问题
学习·ue5·游戏引擎
red_redemption10 小时前
自由学习记录(172)
学习·cache line 64b·重用距离