• 22396阅读
  • 4回复

改变QLabel背景颜色的问题 [复制链接]

上一主题 下一主题
离线122dddfg
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-21
void MainWindow::paintEvent ( QPaintEvent * event )
{
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
painter.drawText(rect(), Qt::AlignCenter, "Qt");
QPalette palette;
palette.setColor(QPalette::Background,QColor(255, 0, 0, 127));
//this->setPalette(palette);
ui->label->setPalette(palette);
}
这样QLabel为什么没有变化呢
离线jdwx

只看该作者 1楼 发表于: 2011-08-21
回 楼主(122dddfg) 的帖子
要从QLabel派生一个类,在那里面的paintevent里画。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线yueno3

只看该作者 2楼 发表于: 2011-08-21
把我用的函数拷给你吧

namespace qt_face
{
inline void fillBackground(QWidget *widget,QColor color)
{
    widget->setAutoFillBackground(true);

    QPalette palette;
    palette.setColor(QPalette::Background, color);
    //palette.setBrush(QPalette::Background, QBrush(QPixmap(":/background.png")));

    widget->setPalette(palette);
}
}/*qt_face*/
离线122dddfg
只看该作者 3楼 发表于: 2011-08-23
回 1楼(jdwx) 的帖子
多谢指教啦
离线122dddfg
只看该作者 4楼 发表于: 2011-08-23
回 2楼(yueno3) 的帖子
谢谢咯
快速回复
限100 字节
 
上一个 下一个