在 Qt Stacked Widget 的特定小部件中更改背景颜色

Posted

技术标签:

【中文标题】在 Qt Stacked Widget 的特定小部件中更改背景颜色【英文标题】:Change background color in a specific widget of a Qt Stacked Widget 【发布时间】:2015-03-26 14:39:55 【问题描述】:

我正在使用基于堆叠小部件的 Qt Creator 开发 Qt 应用程序。我想独立更改堆叠小部件每个页面的背景颜色(例如第一页蓝色,第二页红色等)。但是,当我将background-color: 添加到 Qt creator 上的 styleSheet 选项卡时,结果是堆叠小部件的所有页面都获得了该背景颜色。有没有办法为每个页面设置不同的背景颜色?

【问题讨论】:

【参考方案1】:

您可以为每个小部件执行此操作:

#page1 
    background-color: blue;

#page2 
    background-color: red;

#page1#page2 是对象名称,请在 Qt Creator 的 Object Inspector 侧面板中找到它们。

【讨论】:

这很简单!只是在任何地方都找不到。谢谢!【参考方案2】:
// yep, you can change it in constructor of your widget.
YourWidget::YourWidget(QWidget *parent):QWidget(parent),ui(new Ui::PageControl)

    ui->setupUi(this);
    QPalette background(palette());
    background.setColor(QPalette::Background, Qt::black);
    this->setAutoFillBackground(true);
    this->setPalette(background);

【讨论】:

以上是关于在 Qt Stacked Widget 的特定小部件中更改背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

qt stacked widget界面中如何用按钮实现换页

11.QT-布局管理器(Box,Grid,Form,Stacked)

Magento 2 创建 Widget

Qt C++: 怎样在两个MainWindow或者Widget之间交换数据

qt所有widget都有黑框

qt两个widget渲染相同