2016 - 2024

感恩一路有你

qt的信号槽几种连接方法 qt按钮默认颜色?

浏览量:4244 时间:2023-08-19 22:47:33 作者:采采

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);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-update();}123456789123456789

信号和槽函数的连接

这里让我非常困惑的是,信号槽连接的只能用Qt4旧版版本的连接,新版本就会报错。还有没有哪位大佬能给解释什么一下呀?

connect(comboBoxOne,SIGNAL(activated(int)),this,SLOT(changeColor()));11

Qt5魅力无穷,才是初学者,感到了长路漫漫的愁…

pycharm的qtdesigner如何自定义槽?

使用的是QTcreator吧,designer只不过画界面的。比如你先添加一个button,右键有个slot的选项,再点击变会自动提取一个函数,这那是一个槽函数。

或是你可以自定义一个signal,下拉菜单一个slot函数,不使用connect函数将信号和槽连接上下来;实际emitsignal,变会内部函数连接的槽函数了。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。