• 8416阅读
  • 6回复

如何设定按钮类的背景颜色? [复制链接]

上一主题 下一主题
离线bienew
 

只看楼主 倒序阅读 楼主  发表于: 2007-08-15
— 本帖被 XChinux 执行加亮操作(2007-08-15) —
尝试代码如下:
QPushButton *button = new QPushButton;
button->setFixedSize(80,80);
QPalette palette;
palette.setColor(QPalette::Active,QPalette::Button,QColor(Qt::red));
button->setPalette(palette);
button->show();

执行的结果还是看不到红色的按钮出来
哪位达人告诉我该怎么做?谢谢
[ 此贴被XChinux在2007-08-15 16:55重新编辑 ]
离线larntin
只看该作者 1楼 发表于: 2007-08-15
尝试使用QToolButton,将你在内存中绘画的pixmap添到一个QAcion中。

然后调用QTollButton的setdefaultAction为这个QAction。
本站的FTP:ftp://503.mygis.org
用户名:qtcnupload
密码:qtcn.org
离线fengufo

只看该作者 2楼 发表于: 2007-08-15
    QPalette palette;
    QBrush brush(QColor(255, 0, 0, 255));
    brush.setStyle(Qt::SolidPattern);
    palette.setBrush(QPalette::Active, QPalette::Button, brush);
    QBrush brush1(QColor(255, 0, 0, 255));
    brush1.setStyle(Qt::SolidPattern);
    palette.setBrush(QPalette::Inactive, QPalette::Button, brush1);
    QBrush brush2(QColor(255, 0, 0, 255));
    brush2.setStyle(Qt::SolidPattern);
    palette.setBrush(QPalette::Disabled, QPalette::Button, brush2);
    pushButton->setPalette(palette);

需要设置几种不同状态下的调色板
离线XChinux

只看该作者 3楼 发表于: 2007-08-15
还可以简单地使用styleSheet,比如:
pushButton->setStyleSheet("background:#FF0000");
设置背景为红色。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线bienew

只看该作者 4楼 发表于: 2007-08-16
fengufo达人的提议尝试了一下,无效,
xChinux大人的提议尝试了一下,终于成功拉

PS:有人能告诉我为什么其它的尝试无一例外都失败了呢?谢谢
离线bienew

只看该作者 5楼 发表于: 2007-08-16
另外,如果使用toolbutton->setStyleSheet...,结果还是无效,不知道为什么。。。
离线bienew

只看该作者 6楼 发表于: 2007-08-16
突然想起某个帖子说的风格的问题
果然,加上QApplication::setStyle(new QWindowsStyle)即能正确显示了,如果是QWindowsXPStyle还是不行,换成QMotifStyle也可,只是嫌控件太丑
快速回复
限100 字节
 
上一个 下一个