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()             #程序开始运行
相关推荐
charlie1145141913 分钟前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
咚咚王者8 分钟前
人工智能之核心基础 机器学习 第十二章 半监督学习
人工智能·学习·机器学习
袁气满满~_~40 分钟前
Python数据分析学习
开发语言·笔记·python·学习
njsgcs1 小时前
ppo 找出口模型 训练笔记
人工智能·笔记
pumpkin845142 小时前
Go 学习全景引子:理解设计理念与工程思路
python·学习·golang
你要飞2 小时前
考研线代第四课:线性方程组
笔记·线性代数·考研·矩阵
week_泽2 小时前
第5课:短期记忆与长期记忆原理 - 学习笔记_5
java·笔记·学习·ai agent
星期五不见面3 小时前
机器人学习!(二)ROS-基于Gazebo项目(2)2026/01/12
学习·机器人
日更嵌入式的打工仔3 小时前
嵌入式系统设计师软考个人笔记<1>
笔记
Freshman小白3 小时前
《智能制造系统》网课答案
学习·答案·网课答案