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()             #程序开始运行
相关推荐
Li_RuiQi8 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习
Canmag 兴隆磁性8 小时前
回复磁导率 μ_R:永磁体在动态磁路中的关键参数
开发语言·学习·r语言·永磁材料·充磁·磁导率
He BianGu8 小时前
【笔记】C# 中BindingFlags的详细作用
笔记·c#
lengxuenong8 小时前
区间覆盖问题 · 简明学习手册1
java·学习·算法
AI视觉网奇8 小时前
turtle 入门教程笔记
笔记
跨知易知识产权9 小时前
美国专利确权是什么,和专利诉讼有什么不一样?
笔记
杨逢昌工厂6S管理9 小时前
126-杨逢昌6S三环体系:越做越乱的现场熵增机理与基准化治理——一线现场诊断笔记
经验分享·笔记·职场和发展·学习方法
悟道书生9 小时前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
Be for thing10 小时前
PyTorch自动求导Autograd详解|requires_grad、backward、grad、梯度清零
pytorch·学习·1024程序员节
陈哈哈111110 小时前
折腾了半天,总算把 Vim 9.2 装明白了
笔记