一个PyQt窗口简单例子
import sys
from PyQt5.QtWidgets import QApplication, QWidget #1
if __name__ == '__main__':
app = QApplication(sys.argv) #2
w = QWidget() #3
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show()
sys.exit(app.exec_())
- 引入必要的库,PyQt5用到的基础库包含在PyQt5.QtWidgets中
- 每个PyQt5应用程序必须创建一个application对象,sys.argv参数包含了命令行传递进来的一些列参数。
- QWidget控件是PyQt5中所有用户界面对象类的基类
- 进入程序的主循环,由于exec是Python的一个关键字,所以在需要使用exec的地方添加了一个下划线,即exec_
一个面向对象的例子
*加入icon*
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('Icon')
self.setWindowIcon(QIcon('laptop.png'))
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
给控件添加一个提示信息
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QToolTip,
QPushButton)
from PyQt5.QtGui import QFont
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
QToolTip.setFont(QFont('SansSerif', 10)) #1
self.setToolTip('This a <b>QWidget</b> widget')
btn = QPushButton('Button', self)
btn.setToolTip('This is a <b>QPushButton</b> widget')
btn.resize(btn.sizeHint())
btn.move(50, 50)
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('ToolTips')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
- 设置了用户渲染提示所用的字体
关闭窗口
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QToolTip,
QPushButton)
from PyQt5.QtCore import QCoreApplication
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
qbtn = QPushButton('退出', self)
qbtn.clicked.connect(QCoreApplication.instance().quit) #1
qbtn.resize(qbtn.sizeHint())
qbtn.move(50, 50)
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle('ToolTips')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
- 信号与槽机制