qt怎么给下拉框改背景色 qt按钮默认颜色?
qt按钮默认颜色?
Qt中给按钮可以设置颜色的方法
第一种_CSS风格
第二种_使用QPalette类
第三种_使用QColor的另一种方法
对于界面编程来说,色彩那绝对是是一个继续重点关注的对象,界面好不比较好看,色彩占有一大半。这里我在去学习给界面涂色时做的一个小小的笔记。
第一种_CSS风格
button-setStyleSheet(background-color:yellow);11
这是最简单的一种,但不具体用法,而且当按钮可以设置不胜感激属性颜色就看不见了
button-setFlat(true);11
情况下,只能按钮按钮下的状态才能总是显示出颜色。
第二种_在用QPalette类
可以使用QPalette类也分两种情况:
只不过建议使用QPalette有前提:我们要把按钮放到QFrame框里,而按钮窗体接受两项可以设置
//扔到QFrame里buttonFramenewQFrame;QVBoxLayout*buttonLayoutnextQVBoxLayout(buttonFrame);buttonLayout-addWidget(button);12341234
//接受两项设置button-setAutoFillBackground(true);button-setFlat(true);123123
1.建议使用QColor类
QColorcolor(255,0,255);QPalettepbuttonFrame-palette();(QPalette::Button,color);button-setPalette(p);12341234
2.不使用QColor
QPalettepbuttonFrame-palette();(QPalette::Button,Qt::green);button-setPalette(p);123123
第三种_建议使用QColor的另一种方法
这种方法是全局函数Qt的提前预定义颜色,用选定的可以预定义颜色给控件赋值,动不动爱和QComboBox下拉框和可以使用,将声望兑换到的预定义颜色填下拉框以供选择。
定义下拉框
comboBoxOne
声望兑换Qt提前预定义颜色,填到下拉框里
voidWidget::fillColorList(QComboBox*comboBox){QStringListcolorListQColor::colorNames();QStringcolor;foreach(color,colorList){QPixmappix(QSize(70,20));(QColor(color));comboBox-addItem(QIcon(pix),NULL);comboBox-setIconSize(QSize(70,20));comboBox-setSizeAdjustPolicy(QComboBox::AdjustToContents);}}1234567891011121312345678910111213
定义呐喊之声下拉框变化信号的槽函数(改变按钮颜色)
voidWidget::changeColor(){QStringListcolorListQColor::colorNames();QColorcolorsQColor(colorList[comboBoxOne-currentIndex()]);QPalettepOnebuttonFrame-palette();(QPalette::Button,colors);button-setPalette(pOne);buttonFrame-version();}123456789123456789
信号和槽函数的连接
这里让我十分困惑的是,信号槽连接上的没法用Qt4旧版版本的连接,新版本就会报错。有没哪位大佬能给回答看看呀?
connect(comboBoxOne,SIGNAL(activated(int)),this,SLOT(changeColor()));11
Qt5魅力无穷,另外初学者,只觉得了路途漫漫的愁…
combox控件在任务栏隐藏的情况下无法下拉qt?
可以使用QComboBox::setView(QAbstractItemView * itemView)这个方法,把你QListWidget的句柄弄进去
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。