第五章:Python-GUI编程-PyQt5初体验
- pycharm-Editor-Live Templates 模板 qtt
# 0.导入需要的包和模块
from PyQt5.Qt import *
import sys
# 1.创建一个应用程序对象
app = QApplication(sys.argv)
# 2.控件的操作
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("$TITLE$")
window.resize(500,500)
$CODE$
# 2.3 展示控件
window.show()
# 3 应用程序进入循环
sys.exit(app.exec_())
# 0.导入需要的包和模块
from PyQt5.Qt import *
import sys
class Windwow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("标示标题*")
self.resize(500,500)
self.setupUi()
def setupUi(self):
self.l = QLabel("标签",self)
# 1.创建一个应用程序对象
app = QApplication(sys.argv)
window = Windwow()
window.show()
# 3 应用程序进入循环
sys.exit(app.exec_())
第六章:Python-GUI编程-控件的学习
- 获取类的继关系
@classmethod
def getSubClass(cls,par,num = 1):
for sub in par.__subclasses__():
if num == 1:
print("=" * 100)
print(sub)
if len(sub.__subclasses__())>0:
cls.getSubClass(sub,num =2)
第七章:Python-GUI编程-控件基类-QObject
- 设置对象名称,与属性
obj = QObject()
obj.setObjectName("notice")
print(obj.objectName())
obj.setProperty("notice_leve11","error")
print(obj.property("notice_leve11"))
# 获取属性值,不同于类属性与对象属性,在__dict__中没有
print(obj.dynamicPropertyNames())
- 样式表
QLabel {
font-size : 30px; color : red;
}
with open("QObject.qss","r") as f:
app.setStyleSheet(f.read())
label = QLabel(self)
label.setText("社会我顺歌")
# label.setStyleSheet("font-size : 30px; color : red;")
- QLabel#notice #后面匹配的是对象的objectName
- QLabel#notice[notice_level = "normal"] 中括号内匹配的是 property (setProperty("notice_level","normal")
-
父子对象操作
-
信号与槽
blockSignals(True) 临时阻断联结;
signalsBlocked() 返回联结状态,False为联结,True为阻断状态
receivers(self.obj.信号) - 返回联结槽函数数量 -
类型判定--继承至
注意点:o.inherits("QWidget") 参数是str类型,需加引号
-
删除对象 deleteLater() 不能用del
7.事件处理机制-重点
二、茜
二、茜
二、茜
二、茜
二、茜
二、茜