qt中设置按钮颜色的方法
first_css样式
第二种类型使用了qpalette类
第三种的另一种使用
对于界面编程来说,色彩无疑是重点关注的,界面好不好,色彩占了一大半。这是我在学习界面着色时做的一个小笔记。
first_css样式
button-setstylesheet(background-color:yellow);11
这是最简单的一个,但不常用,因为当按钮设置为下面的属性时,颜色是不可见的。
button-setflat(true);11
在这种情况下,只有按钮下的状态可以显示颜色。
第二种类型使用了qpalette类
有两种方法可以使用qpalette类:
但是使用qpalette有一个前提条件:我们需要把按钮放在qframe框中,同时按钮窗体有两个设置。
//放在qframebuttonframenewqframe中;qvboxlayout*buttonlayout新qvboxlayout(buttonframe);buttonlayout-addwidget(按钮);12341234
//制作两个设置按钮-setautofilbackground(true);button-setflat(true);123123
1.使用qcolor类
qcolor颜色(255,0,255);qpal::button,color);按钮设置面板(p);12341234
不要不要使用qcolor
qpal::button,qt::green);按钮设置面板(p);123123
第三种的另一种使用
这个方法是调用qts预定义颜色,用所选的预定义颜色给控件赋值,常与qcombobox下拉框配合使用,将获得的预定义颜色填入下拉框中进行选择。
定义下拉框
梳子奥博索尼
获取qt预定义的颜色,并将其填入下拉框中。
voidwidg::fillcolorlist(qcombobox*combobox){qstringlistcolorlistqcolor::colornames();qstring颜色;foreach(color,colorlist){qpixmappix(qsize(70,20));(qcolor(颜色));combobox-additem(qicon(pix),null);combobox-seticonsize(qsize(70,20));combobox-setsizeadjustpolicy(qcombobox::adjusttocont::changecolor(){qstringlistcolorlistqcolor::colornames();qcolorcolorsqcolor(colorlist[comboboxone-curr::button,colors);按钮设置面板(pone);buttonframe-update();}123456789123456789
信号和插槽功能之间的连接
这里让我疑惑的是,信号槽只能用旧版qt4连接,新版会报错。有哪位老板能给我解释一下吗?
connect(comboboxone,signal(activated(int)),this,slot(changecolor()));11
qt5魅力无穷。作为一个初学者,我感觉任重而道远…