标题:qt3 中easy问题qt4中无法实现
作者:zccmin
日期:2006-10-12 09:57
内容:
MyWin::MyWin(QWidget*parent):QWdiget(parent)
{
setBackgroundColor(Qt::black);
setGeometry(0,0,200,150);
myfocus=new QWidget(this);
myfocus->setBackgroundColor(Qt::yellow);
myfocus->setGeometry(50,20,20,15);
}
是不是应该在一个黑色的组件中有一个黄色的区域显示??(qt3下是能达到要求的)
可是我在qt4下面我无法设置myfocus的颜色,无论怎么设置myfocus的颜色它总是个跟其父对象颜色一致(或其是透明?)。
请问这是为什么?
#1 [fygenius 10-12 11:15]
QT对颜色设置改变比较大
用QPalette设置
给个例子
QPalette palette;
palette.setColor(QPalette::All, static_cast(1), QColor(255, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(2), QColor(0, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(3), QColor(0, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(4), QColor(255, 255, 255));
palette.setColor(QPalette::Disabled, static_cast(5), QColor(0, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(6), QColor(0, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(7), QColor(255, 255, 255));
palette.setColor(QPalette::Disabled, static_cast(8), QColor(0, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(9), QColor(212, 208, 200));
palette.setColor(QPalette::Disabled, static_cast(10), QColor(212, 208, 200));
palette.setColor(QPalette::Disabled, static_cast(11), QColor(0, 0, 0));
palette.setColor(QPalette::Disabled, static_cast(12), QColor(10, 36, 106));
palette.setColor(QPalette::Disabled, static_cast(13), QColor(255, 255, 255));
palette.setColor(QPalette::Disabled, static_cast(14), QColor(0, 0, 255));
palette.setColor(QPalette::Disabled, static_cast(15), QColor(255, 0, 255));
palette.setColor(QPalette::Disabled, static_cast(16), QColor(233, 231, 227));
ui.pushButton->setPalette(palette);
ui.pushButton->setText("Test Failed");