qt按钮默认颜色?
Qt中给按钮可以设置颜色的方法
第一种_CSS风格
第二种_建议使用QPalette类
第三种_建议使用QColor的另一种方法
对此界面编程来说,色彩毫无疑问是一个重点关注的对象,界面好不比较好看,色彩占有一大半。这里我在学习给界面涂色时做的一个小小的笔记。
第一种_CSS风格
button-setStyleSheet(background-color:yellow);11
这是最简单的一种,但不具体用法,只不过当按钮可以设置:属性颜色就什么也看不到了
button-setFlat(true);11
情况下,只能按钮按钮下的状态才能不显示出颜色。
第二种_不使用QPalette类
使用QPalette类也分两种情况:
但是不使用QPalette有前提:我们要把按钮装在QFrame框里,同样按钮窗体进行两项可以设置
//弄到QFrame里buttonFramenewQFrame;QVBoxLayout*buttonLayoutfifthQVBoxLayout(buttonFrame);buttonLayout-addWidget(button);3434
//通过两项设置里button-setAutoFillBackground(true);button-setFlat(true);33
1.在用QColor类
QColorcolor(255,0,255);QPalettepbuttonFrame-palette();(QPalette::Button,color);button-setPalette(p);3434
2.不在用QColor
QPalettepbuttonFrame-palette();(QPalette::Button,Qt::green);button-setPalette(p);33
第三种_不使用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);}}3456789101134567891011
定义呐喊之声下拉框变化信号的槽函数(转变按钮颜色)
voidWidget::changeColor(){QStringListcolorListQColor::colorNames();QColorcolorsQColor(colorList[comboBoxOne-currentIndex()]);QPalettepOnebuttonFrame-palette();(QPalette::Button,colors);button-setPalette(pOne);buttonFrame-update();}34567893456789
信号和槽函数的连接
这里让我非常困惑的是,信号槽连接的只能用Qt4旧版版本的连接,新版本就会报错。还有没有哪位大佬能给解释什么一下呀?
connect(comboBoxOne,SIGNAL(activated(int)),this,SLOT(changeColor()));11
Qt5魅力无穷,才是初学者,感到了长路漫漫的愁…
pycharm的qtdesigner如何自定义槽?
使用的是QTcreator吧,designer只不过画界面的。比如你先添加一个button,右键有个slot的选项,再点击变会自动提取一个函数,这那是一个槽函数。
或是你可以自定义一个signal,下拉菜单一个slot函数,不使用connect函数将信号和槽连接上下来;实际emitsignal,变会内部函数连接的槽函数了。