python pyqt界面开发,界面与代码分离的信号与槽

https://blog.csdn.net/weixin_41810846/article/details/100514709

安装pyqt和运行简单程序请参考上面的帖子。(安装没试过。。。但是代码可以运行,建议先看完上面的铁子)

主要说一下界面和代码的分离的信号与槽机制。(因为上面的博主没有更新,我就来班门弄斧了)

为啥要进行分离:因为在python中每对界面进行一次微小的改动,要用一下pyuic5这个命令(相当于make)

其中test.ui是我们画的ui界面,执行这个命令后,会生成一个test.py文件,用来写代码。

pyuic5 -o test.py test.ui

but问题来了,当我添加新的控件或者修改空间名字时候,都需要执行这个命令,重新生成代码,以前的代码就被刷新掉了,修改起来很麻烦,当界面和代码分离的时候,修改界面不影响代码

然后在上面博主的main的代码里的init函数里面添加信号和槽函数如下图所示:

from test import Ui_MainWindow
from PyQt5.QtWidgets import QMainWindow, QApplication
import sys

class MyWin(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyWin, self).__init__(parent)
        # QMainWindow.__init__(self)
        # Ui_MainWindow.__init__(self)

        self.setupUi(self)
    #定义信号,按键触发按钮,点这个按钮触发slotTestClicked这个函数
        self.pushButton2.clicked.connect(self.slotTestClicked)
    
    #定义槽函数
    def slotTestClicked(self):
        self.text.setText("hello world")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    mw = MyWin()
    mw.show()
    sys.exit(app.exec_())

然后运行python3 main.py

点击按钮生成helloworld,如下图所示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值