qttablewidget僅雙擊才能編輯 qt按鈕默認(rèn)顏色?
qt按鈕默認(rèn)顏色?Qt中設(shè)置按鈕顏色的方法first _CSS樣式第二種類型使用了QPalette類第三種的另一種使用對(duì)于界面編程來(lái)說(shuō),色彩無(wú)疑是重點(diǎn)關(guān)注的,界面好不好,色彩占了一大半。這是我在學(xué)習(xí)界
qt按鈕默認(rèn)顏色?
Qt中設(shè)置按鈕顏色的方法
first _CSS樣式
第二種類型使用了QPalette類
第三種的另一種使用
對(duì)于界面編程來(lái)說(shuō),色彩無(wú)疑是重點(diǎn)關(guān)注的,界面好不好,色彩占了一大半。這是我在學(xué)習(xí)界面著色時(shí)做的一個(gè)小筆記。
first _CSS樣式
按鈕設(shè)置樣式表(背景色:黃色);11
這是最簡(jiǎn)單的一個(gè),但不常用,因?yàn)楫?dāng)按鈕設(shè)置為下面的屬性時(shí),顏色是不可見(jiàn)的。
按鈕-設(shè)置平面(true);11
在這種情況下,只有按鈕下的狀態(tài)可以顯示顏色。
第二種類型使用了QPalette類
有兩種方法可以使用QPalette類:
但是使用QPalette有一個(gè)前提條件:我們需要把按鈕放在QFrame框中,同時(shí)按鈕窗體有兩個(gè)設(shè)置。
//放在QFrame buttonFrame new QFrame中;QVBoxLayout *buttonLayout新qvbox layout(button frame);巴頓特拉yout-addWidget(按鈕);12341234
//進(jìn)行兩項(xiàng)設(shè)置button-setauto background(真);按鈕-設(shè)置平面(true);123123
1.使用QColor類
QColor顏色(255,0,255);q調(diào)色板p按鈕框架-調(diào)色板();(q調(diào)色板::按鈕,顏色);按鈕組Palette (p); Twelve million three hundred and forty-one thousand two hundred and thirty-four
不要 不要使用QColor
q調(diào)色板p按鈕框架-調(diào)色板();(q調(diào)色板::按鈕,Qt::綠色);按鈕設(shè)置面板(p);12312三
第三種的另一種使用
這個(gè)方法是調(diào)用Qt s預(yù)定義顏色,用所選的預(yù)定義顏色給控件賦值,常與QComboBox下拉框配合使用,將獲得的預(yù)定義顏色填入下拉框中進(jìn)行選擇。
定義下拉框
comboBoxOne
獲取Qt預(yù)定義的顏色,并將其填入下拉框中。
空的小工具::fillColorList(QComboBox * comboBox){ QStringList colorList QColor::colorNames();QString顏色;foreach (color,colorList) { QPixmap pix(QSize(70,20));(QColor(顏色));組合框ox-addItem(QIcon(pix),NULL);comboBox-setIconSize(QSize(70,20));組合框-setSizeAdjustPolicy(QComboBox :: Adjust content); } } 1234567891011121312345678910111213
定義響應(yīng)下拉框改變信號(hào)的槽函數(shù)(改變按鈕顏色)。
void Widget::change color(){ QStringList color list q color::color names();顏色顏色color(color list[combobox one-current index()]);q palette pOne button frame-palette();(q調(diào)色板::Buttons, colors); Button setting panel (PONE); button frame-update(); } 123456789123456789
信號(hào)和插槽功能之間的連接
這里讓我疑惑的是,信號(hào)槽只能用舊版Qt4連接,新版會(huì)報(bào)錯(cuò)。有哪位老板能給我解釋一下嗎?
connect(comboBoxOne,SIGNAL(activated(int)),this,SLOT(change color()));11
Qt5魅力無(wú)窮。作為一個(gè)初學(xué)者,我感覺(jué)任重而道遠(yuǎn)…
widget.cpp是什么文件?
Windget.cpp是類widget的實(shí)現(xiàn)代碼,是qt編譯生成的類定義文件,對(duì)應(yīng)ui文件windget.ui