1. 程式人生 > >170325 PyQt5-Label背景顏色和文字顏色的設定

170325 PyQt5-Label背景顏色和文字顏色的設定

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()
    if 
col.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伺服器和客戶端的連線