文章目录
- PyQt GUI
- 编写你的第一个PyQt GUI程序
- 面向对象方式实现PyQt GUI程序
- 在窗口中添加控件
- 信号与槽机制
- 鼠标事件
- 键盘事件
PyQt GUI
编写你的第一个PyQt GUI程序
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv) # 创建应用程序对象
window = QWidget()
window.resize(400, 300) # 设置窗口的大小
window.move(600, 300) # 设置窗口的位置
window.setWindowTitle(‘你好Qt!’) # 设置窗口标题
window.show() # 显示窗口
app.exec_() # 让应用程序进入主事件循环中
# coding=utf-8
# 代码文件:code/chapter3/3.2.3.py
# 编写你的第一个PyQt GUI程序
import sys
from PyQt5.QtWidgets import QApplication, QWidgetapp = QApplication(sys.argv) # 创建应用程序对象window = QWidget()
window.resize(400, 300) # 设置窗口的大小
window.move(600, 300) # 设置窗口的位置window.setWindowTitle('你好Qt!') # 设置窗口标题
window.show() # 显示窗口app.exec_() # 让应用程序进入主事件循环中
面向对象方式实现PyQt GUI程序
# coding=utf-8
# 代码文件:code/chapter3/3.2.4.py
# 面向对象方式实现PyQt GUI程序import sys
from PyQt5.QtWidgets import QApplication, QWidgetclass MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(400, 300) # 设置整窗口的大小self.move(600, 300) # 设置窗口的位置,self.setWindowTitle('你好Qt!') # 设置窗口标题def main():app = QApplication(sys.argv) # 创建应用程序对象window = MyWindow()window.show() # 显示窗口app.exec_()if __name__ == '__main__':main()
在窗口中添加控件
# coding=utf-8
# 代码文件:code/chapter3/3.3.py
# 在窗口中添加控件import sys
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(400, 300) # 设置整窗口的大小self.move(600, 300) # 设置窗口的位置self.setWindowTitle('添加控件!') # 设置窗口标题label = QLabel(self) # 创建标签控件label.setText("Hello World!") # 设置标签显示的文字label.move(180, 120) # 设置标签位置button = QPushButton(self) # 创建按钮控件button.setText("OK") # 设置按钮上显示的文字button.move(170, 160) # 设置按钮位置def main():app = QApplication(sys.argv) # 创建应用程序对象window = MyWindow()window.show() # 显示窗口sys.exit(app.exec_())if __name__ == '__main__':main()
信号与槽机制
# coding=utf-8
# 代码文件:code/chapter3/3.4.1.py
# 信号与槽机制import sys
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(400, 300)self.move(600, 300) #self.setWindowTitle('信号与槽机制')self.label = QLabel(self)self.label.setText("Hello World!")self.label.move(180, 120)button = QPushButton("OK", self)button.clicked.connect(self.click_success) # 连接信号与槽button.move(170, 160)def click_success(self): # 槽函数self.label.setText("世界你好!")def main():app = QApplication(sys.argv)window = MyWindow()window.show()sys.exit(app.exec_())if __name__ == '__main__':main()
鼠标事件
# coding=utf-8
# 代码文件:code/chapter3/3.4.2.3.py
# 鼠标事件import sysfrom PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QLabelclass MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(400, 300)self.move(600, 300)self.setWindowTitle('鼠标事件')self.label = QLabel(self)self.label.setText("Hello World!")self.label.move(180, 120)# 重写鼠标按下函数def mousePressEvent(self, event):if event.button() == Qt.LeftButton:self.label.setText("鼠标左键按下")elif event.button() == Qt.RightButton:self.label.setText("鼠标右键按下")else:self.label.setText("鼠标未知按下")# 重写鼠标释放函数def mouseReleaseEvent(self, event):self.label.setText("鼠标释放")def main():app = QApplication(sys.argv)window = MyWindow()window.show()sys.exit(app.exec_())if __name__ == '__main__':main()
键盘事件
# coding=utf-8
# 代码文件:code/chapter3/3.4.3.py
# 键盘事件import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLabelclass MyWindow(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(400, 300)self.move(600, 300)self.setWindowTitle('键盘事件')self.label = QLabel(self)self.label.setText("Hello World!")self.label.move(100, 120)# 重写键盘按下函数def keyPressEvent(self, event):self.label.setText("键盘键按下")# 重写键盘释放函数def keyReleaseEvent(self, event):self.label.setText("键盘键释放")def main():app = QApplication(sys.argv)window = MyWindow()window.show()sys.exit(app.exec_())if __name__ == '__main__':main()