• 4573阅读
  • 1回复

qt3 中easy问题qt4中无法实现 [复制链接]

上一主题 下一主题
离线zccmin
 
只看楼主 倒序阅读 楼主  发表于: 2006-10-12
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的颜色它总是个跟其父对象颜色一致(或其是透明?)。
请问这是为什么?
[ 此贴被XChinux在2006-10-12 20:33重新编辑 ]
离线fygenius

只看该作者 1楼 发表于: 2006-10-12
QT对颜色设置改变比较大
用QPalette设置

给个例子

QPalette palette;
   palette.setColor(QPalette::All, static_cast<QPalette::ColorRole>(1), QColor(255, 0, 0));

   palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(2), QColor(0, 0, 0));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(3), QColor(0, 0, 0));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(4), QColor(255, 255, 255));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(5), QColor(0, 0, 0));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(6), QColor(0, 0, 0));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(7), QColor(255, 255, 255));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(8), QColor(0, 0, 0));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(9), QColor(212, 208, 200));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(10), QColor(212, 208, 200));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(11), QColor(0, 0, 0));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(12), QColor(10, 36, 106));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(13), QColor(255, 255, 255));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(14), QColor(0, 0, 255));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(15), QColor(255, 0, 255));
  palette.setColor(QPalette::Disabled, static_cast<QPalette::ColorRole>(16), QColor(233, 231, 227));

   ui.pushButton->setPalette(palette);
   ui.pushButton->setText("Test Failed");
快速回复
限100 字节
 
上一个 下一个