一般來說,對qlabel的背景和字型設定的話,有兩種方法:一種是使用樣式表,就是stypesheet,另一種就是不使用樣式表了。
首先來說不實用樣式表的方法,這種方法相對於樣式表來說比較靈活,但是設定起來比較麻煩,但是作為一名qt程式猿來說,也是必須要會熟練使用了。當然,我下面要總結的必然也是些不是很完整,很成熟的方法,只是經過本人測試可用的管窺之見,用於不用,全在念間。廢話不多說,先看一段**,根據這段**由我一一說下:
#coding:utf-8
'''created on 2023年2月9日
@author: guowu
'''import sys
from pyqt4.qtcore import qt
#import classblock
class mainwindow(qmainwindow):
def __init__(self, parent=none):
qmainwindow.__init__(self, parent)
self.setfixedsize(600,600)
self.label = qlabel(self)
self.label.setfixedwidth(400)
self.label.setfixedheight(400)
self.label.setalignment(qt.aligncenter)
self.label.settext(u"這個標籤的長褲可以變化嗎aaaaaaaa東西南北?")
pe = qpalette()
pe.setcolor(qpalette.windowtext,qt.red)
self.label.setautofillbackground(true)
pe.setcolor(qpalette.window,qt.blue)
#pe.setcolor(qpalette.background,qt.blue)
self.label.setpalette(pe)
self.label.setfont(qfont("roman times",10,qfont.bold))
self.label.move(100,100)
if __name__ == "__main__":
mainwindow = mainwindow()
mainwindow.show()
上面的**:
1,設定labe的字型居中:
self.label.setalignment(qt.aligncenter)
此居中為上下左右居中
2,設定label的背景顏色和字型顏色:
pe = qpalette()
pe.setcolor(qpalette.windowtext,qt.red)#設定字型顏色
self.label.setautofillbackground(true)#設定背景充滿,為設定背景顏色的必要條件
pe.setcolor(qpalette.window,qt.blue)#設定背景顏色
#pe.setcolor(qpalette.background,qt.blue)#設定背景顏色,和上面一行的效果一樣
self.label.setpalette(pe)
顏色如果用rgb表示的話,則rgb的第四個數可以表示透明度,0為透明,255為不透明。
3,設定字型的型別大小和加粗:
self.label.setpixmap(pixmap)將上面的設定背景的**注掉,然後添上以上兩行**,即可為label設定背景,注意路徑要寫正確。這種方式一般要寫到paintevent方法內,否則label的字型內容可能被覆蓋。
5,設定字型的大小和型別等還有另一中方案:
font = qfont()
font.setfamily("helvetica")
fontheight = rect.height()/1
font.setpixelsize(fontheight)
font.setbold(true)
self.label.setfont(font)
以上就是不用樣式表來設定的方法。
如果使用樣式表的話,則就比較簡單了:
添上下面的樣式表,則可設定這個視窗中所有labe的背景顏色,字型顏色大小等,也可以針對每個label進行設定。
self.setstylesheet("qlabel"
"qlabel"
"qlabel:hover")
若使用背景:
則第一行改為:
"qlabel"
這樣設定的話,背景無法自適應大小,需要label去適應的大小。 WinForm中控制項與背景透明
要實現c winform中的控制項與背景的透明,可以通過設定控制項的backcolor屬性為transparent,同時設定其父控制項。因為在c 中,控制項的透明指對父窗體透明。如果不設定parent屬性,那麼控制項將只對form透明,顯示的時候都會把form的背景色 預設為control 重刷一遍...
CSS中的內邊距 box sizing與背景顏色
1.什麼是內邊距 內容區域與邊框之間的距離 特點 會擴大元素邊框所占用的區域。2.語法 padding value 單邊設定 padding top right bottom left value 取值 1.單位可以為 px 2.單位可以為 3.簡潔寫法 padding value 四個方向的內邊距...
SQL中IN與EXISTS關鍵字
偶遇這樣乙個場景,使用in關鍵字進行檢索資料所消耗的時間是使用exists關鍵字進行檢索資料所消耗的時間的接近30倍。一看差距這麼大,查閱了一本sql資料,其中也沒有介紹多少,不過我們可以從其定義中可以領悟到一些差異。1 in關鍵字 該操作符in用於把乙個值與乙個指定列表進行比較,當被比較的值至少與...