第一个PyQt程序
这个程序虽然小,具备pyqt程序的皱型,可以作为一个模板使用了
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QWidget class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 220) self.setWindowTitle('Simple') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
先看运行效果:
import sys from PyQt5.QtWidgets import QApplication, QWidget
两个必要的导入
app = QApplication(sys.argv)
每一个pyqt程序必须创建一个application对象,sys.argv是命令行参数,可以通过命令行传参,来定制我们的程序
class Example(QWidget): def __init__(self): super().__init__()
我们创建一个Example类继承QWidget类,PyQt5里面QWidget是所有用户界面对象的基类,所有和用户界面相关的类都必须继承
QWidget类,比如QMainWindow和QDialog等内置的窗口类都是继承自QWidget的,这里我们新建一个Example类同样要继承QWidget类,
使用super.__init__() 调用QWidget的构造函数
self.setGeometry(300, 300, 300, 220) self.setWindowTitle('Simple')
setGeometry方法控制窗口的大小和位置,setWindowTitle设置窗口标题
self.show()
show方法将窗口显示到屏幕上
sys.exit(app.exec_())
app.exec_() 进入程序主循环,事件处理开始。主循环从窗口系统接收事件并把事件发送给指定窗口,当调用app.exit()或者
程序因为各种原因被破坏后,使用sys.exit()可以优雅的关闭程序,并通知系统程序结束
===============================================================
在上面代码基础上增加点东西
现在我要在这个窗口上添加一个按钮,在添加一个输入框
#!/usr/bin/python3 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import (QApplication, QWidget,QPushButton, QLineEdit) class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 220) self.setWindowTitle('Simple') btn = QPushButton("button",self) line = QLineEdit(self) line.move(100,100) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
首先在import那句添加了两个相关类,在initUI函数里面添加了几行代码,一看就明白了 不用多说
现在你可能有这样的疑问,如果我要添加一个单选框,复选框,时间选择器等等,这些东西我怎么知道在那个模块呢?
都叫什么名字呢? 第一个问题在我的上一篇博文中就写了,常见功能对应在那些模块中,大概也就知道了和窗口界面有关的都在QWidget模块下面
比如现在你知道复选框在QWidget模块中 ,那你就可以打开qt文档 找到QWidget模块,一眼望下去你就会找到他,根据类名就能大概猜到功能
找到在哪里就好办了,你可以看看这个类提供那些方法,比如上面的按钮我没有设置他的位置,下面的输入框我用了move方法,你还可以设置输入框的宽高不是,
每一个类都提供了很多方法,很多不同的类具有部分相同的方法,用到的时候就去查文档,多查几次常用的就记住了
最简单的方法就是打开 Qt Creator
虽然是c++的,但是用法和python都是一样的,只是把c++的语法改成python方式来写就可以了,