第五章:Python-GUI編程-PyQt5初體驗
- image.png
- pycharm-Editor-Live Templates 模板 qtt
# 0.導入需要的包和模塊
from PyQt5.Qt import *
import sys
# 1.創(chuàng)建一個應(yīng)用程序?qū)ο?app = QApplication(sys.argv)
# 2.控件的操作
# 2.1 創(chuàng)建控件
window = QWidget()
# 2.2 設(shè)置控件
window.setWindowTitle("$TITLE$")
window.resize(500,500)
$CODE$
# 2.3 展示控件
window.show()
# 3 應(yīng)用程序進入循環(huán)
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.創(chuàng)建一個應(yīng)用程序?qū)ο?app = QApplication(sys.argv)
window = Windwow()
window.show()
# 3 應(yīng)用程序進入循環(huán)
sys.exit(app.exec_())
第六章:Python-GUI編程-控件的學習
- 獲取類的繼關(guān)系
@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
- 設(shè)置對象名稱,與屬性
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"] 中括號內(nèi)匹配的是 property (setProperty("notice_level","normal")
-
父子對象操作
image.png
image.png -
信號與槽
image.png
image.png
image.png
blockSignals(True) 臨時阻斷聯(lián)結(jié);
signalsBlocked() 返回聯(lián)結(jié)狀態(tài),F(xiàn)alse為聯(lián)結(jié),True為阻斷狀態(tài)
receivers(self.obj.信號) - 返回聯(lián)結(jié)槽函數(shù)數(shù)量 -
類型判定--繼承至
image.png
注意點:o.inherits("QWidget") 參數(shù)是str類型,需加引號
-
刪除對象 deleteLater() 不能用del
i mage.png
7.事件處理機制-重點

image.png

image.png
二、茜
二、茜
二、茜
二、茜
二、茜
二、茜







