资源:Python-GUI-PyQ5总概述.xmind;QObject.xmind
一、案例一
(1)创建一个窗口,并设置一个子控件QLabel
(2)要求:展示10s倒计时,一旦倒计时结束,就停止计时。
(3)涉及知识点:标签创建和设置;自定义标签类的封装;定时器的使用。
(4)掌握级别:了解定时器的基本操作。
from PyQt5.Qt import *
import sys
class MyLabel(QLabel):
def __init__(self,*args,**kwargs):
#封装一个控件
super().__init__(*args,**kwargs)
self.setText("10")
self.move(200, 200)
self.setStyleSheet("font-size:22px;")
def setSec(self,sec):
self.setText(str(sec))
def startMyTimer(self,ms):
self.timer_id = self.startTimer(ms)
def timerEvent(self, *args, **kwargs):
#获取当前标签的内容
current_sec=int(self.text())
current_sec-=1
self.setText(str(current_sec))
if current_sec==0:
print("stop!")
self.killTimer(self.timer_id)
app = QApplication(sys.argv)
window = QWidget() # 创建一个窗口
window.setWindowTitle("QObject定时器的使用") # 窗口标题
window.resize(500, 500) # 设置窗口大小
window.move(400, 200) # 将窗口移动到电脑显示屏的一个位置
label=MyLabel(window)
label.setSec(5)
label.startMyTimer(500)
window.show() # 展示窗口
sys.exit(app.exec_()) # app.exec_()为执行整个应用程序,为了告诉我们程序的退出,我们需要用sys.exit()
二、案例二
(1)创建一个窗口,通过定时器不断增加该窗口的尺寸大小
(2)要求:每100ms宽高均增加1px。
(3)涉及知识点:窗口的封装;定时器的使用。
(4)掌握级别:了解定时器。
from PyQt5.Qt import *
import sys
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QObject定时器的使用") # 窗口标题
self.resize(500, 500) # 设置窗口大小
self.move(400, 200) # 将窗口移动到电脑显示屏的一个位置
self.startTimer(100)
def timerEvent(self, *args, **kwargs):
current_w=self.width()
current_h=self.height()
self.resize(current_w+10,current_h+10)
app = QApplication(sys.argv)
window = MyWidget() # 创建一个窗口
window.show() # 展示窗口
sys.exit(app.exec_()) # app.exec_()为执行整个应用程序,为了告诉我们程序的退出,我们需要用sys.exit()