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, QWidget
app = 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, QWidget
class 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 sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
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)
# 重写鼠标按下函数
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 sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
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(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()