• 5672阅读
  • 6回复

为什么用不了父类QWidget里面的方法 [复制链接]

上一主题 下一主题
离线飞刀
 
只看楼主 倒序阅读 楼主  发表于: 2010-03-16
  定义一个类WIn,继承于QMainWindow,而QMainWindow是继承于QWidget的;
  class Win : public QMainWindow{}
  QWidget里面有个设置窗口背景的方法setBackgroundColor();
而我在Win里面却无法使用它,为什么呢?如下
Win::Win( void )
{
    setBackgroundColor("lightBlue");
}

出错提示:error: 'setBackgroundColor' was not declared in this scope
离线dbzhang800

只看该作者 1楼 发表于: 2010-03-16
你的Qt 版本是多少?
Qt4? Qt3
离线飞刀
只看该作者 2楼 发表于: 2010-03-16
Qt4
离线dbzhang800

只看该作者 3楼 发表于: 2010-03-16
引用第2楼飞刀于2010-03-16 16:59发表的  :
Qt4


那你在哪儿看到的这个呢?

QWidget里面有个设置窗口背景的方法setBackgroundColor()
离线yangfanxing
只看该作者 4楼 发表于: 2010-03-16
引用第3楼dbzhang800于2010-03-16 17:30发表的  :

大大的意思是。。。这个父类也没有这个方法啊~~~LZ看走眼了吧~~~
PHPWind好恶心。。。不想看这种界面。。。
离线飞刀
只看该作者 5楼 发表于: 2010-03-17
  在qt助手里面看到的,有可能是qt4不支持这个了
找到了另一个设置背景的方法
    QPalette palette;
    palette.setColor( backgroundRole(), "lightblue" );
    setPalette(palette);
这样就能成功设置背景了
谢谢诸位
离线nmiirq

只看该作者 6楼 发表于: 2010-03-27
setBackgroundColor确实是qt3的东东。
快速回复
限100 字节
 
上一个 下一个