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()             #程序开始运行
相关推荐
三水不滴12 分钟前
SpringAI + SpringDoc + Knife4j 构建企业级智能问卷系统
经验分享·spring boot·笔记·后端·spring
三品吉他手会点灯13 分钟前
C语言学习笔记 - 15.C编程预备计算机专业知识 - CPU 内存条 硬盘 显卡 主板 显示器 之间的关系
c语言·笔记·学习
三品吉他手会点灯19 分钟前
C语言学习笔记 - 11.C语言简介 - VSCode(C/C++)环境安装与配置
c语言·笔记·学习
今天你TLE了吗1 小时前
LLM到Agent&RAG——AI知识点概述 第六章:Function Call函数调用
java·人工智能·学习·语言模型·大模型
The Chosen One9852 小时前
计算机知识点的理解开悟后的分享(一)
笔记
徐新帅3 小时前
4181:【GESP2603七级】拆分
c++·学习·算法·信奥赛
敢敢のwings3 小时前
NVIDIA Thor学习之 |在Jetson AGX Thor上部署OpenClaw并基于Ollama的边缘AI协作实战(二)
人工智能·学习
独孤九剑打醒他3 小时前
#原创声明 #拒绝白嫖 #技术立场 #创作者保护
笔记
avocado_green3 小时前
【考驾照】科目一备考笔记(个人手工整理,非AI生成)
笔记
三分钟管理实战案例3 小时前
华恒智信助力传统制造与科技服务行业完成激活组织效能,打破“躺平”困局
学习