PyQt5编程

一、开发环境

python开发环境用的是Anaconda3,也好像是通过Anaconda安装的PyQt5

 

二、不使用Designer的方式

在pycharm里创建一个项目并新建一个main.py,输入以下代码:

import sys

from PyQt5 import QtWidgets

if __name__ == '__main__':

    app = QtWidgets.QApplication(sys.argv)

    w = QtWidgets.QWidget()

    w.resize(400, 200)

    w.setWindowTitle("hello PyQt5")

    w.show()

    exit(app.exec_())

 

三、使用Disigner设计UI的方式

1.在D:\ProgramData\Anaconda3\Library\bin目录下有个Designer.exe,双击运行。

这里创建一个mainwindow,然后拖动UI,最后保存为.ui文件

2.通过pyuic将ui文件转换为py文件

cmd下命令:

python -m PyQt5.uic.pyuic -o D:\pyqt_file\ui_mainwindow.py D:\pyqt_file\frist.ui

3.将生成的py文件放在之前在pycharm里创建的项目下

4.main.py的代码如下:

import sys
from ui_mainwindow import *

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()

    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

 

四、控件事件(QRadioButton为例)

1.不带参数

在MainWindow类的setUi函数里的QRadioButton创建了后输入以下代码:

self.radioButton.clicked.connect(self.srvStartClicked)

然后再再该类下编写事件处理方法

def srvStartClicked(self):
    print("start server")

2.带参数

此时要用到lambda

在MainWindow类的setUi函数里的QRadioButton创建了后输入以下代码:

self.radioButton.clicked.connect(lambda:self.srvStartClicked("start"))

然后再再该类下编写事件处理方法

def srvStartClicked(self,text):
    print("start server"+text)

3.QRadioButton事件介绍

上面用到了点击事件cliced,此外常用的还有toggled

self.radioButton.toggled.connect(self.srvStartClicked)

猜你喜欢

转载自blog.csdn.net/kylett/article/details/83790887