170325 PyQt5-Label背景顏色和文字顏色的設定
阿新 • • 發佈:2019-02-01
1625-5 王子昂 總結《2017年3月25日》 【連續第175天總結】
A.PyQt5背景顏色和文字顏色的修改
B.字型顏色還簡單,只需要使用QFontDialog標準對話方塊方法得到所選的font,然後使用label自帶的方法setFont()設定即可
倒是設定顏色稍微麻煩了一點:網上教程大都是PyQt4的
最後沒辦法,決定使用styleSheet來設定。先試著使用Qt Designer設計試試,程式碼出來為:
color: rgb(255, 6, 10);\nbackground-color: rgb(114, 58, 255);
QColorDialog方法返回的是一個QColor物件,去互動命令列裡查詢了它的相關方法,有用的是rgb()和name()
使用StyleSheet重要的問題在於如何自動更新或增加新的StyleSheet。如果直接在原有字串上增加新的backgroud-color/color勢必會影響原有的格式。
最終使用了在類內通用儲存的兩個變數來儲存name,每次更新StyleSheet都重新set即可
程式碼:
def choose_font(self): font, ok = QFontDialog.getFont() if ok: self.ui.preview_text.setFont(font) def choose_col(self): col = QColorDialog.getColor() ifcol.isValid(): self.backcol=col.name() self.ui.preview_text.setStyleSheet('background-color:%s;\ncolor:%s' % (self.backcol,self.col)) def choose_col2(self): col=QColorDialog.getColor() if col.isValid(): self.col=col.name() self.ui.preview_text.setStyleSheet('background-color:%s;\ncolor:%s;' % (self.backcol,self.col))
明天就研究伺服器和客戶端的連線和資料傳輸啦
C.明日計劃
PyQt5伺服器和客戶端的連線