样式表是QInputDialog

问题描述 投票:0回答:1

是否有可能为QinputDialog设计风格?

我有以下代码:

void calibratemotors::on_pushButton_shuttopen_manualent_clicked()
{
    bool ok;
    double shutopen_manenter = QInputDialog::getDouble(this, "getDouble",
                                       "Some Number:", 0.00, -10000, 10000, 2, &ok);
    if (ok)
        ui->label->setText(QString("%1").arg(shutopen_manenter));

}

问题是,它是否继承了“this”的各个方面,例如背景颜色,边框等。我试图添加一行:

this->setStyleSheet( "QInputDialog {background-color: red;}" );

在点击但也改变了父窗口,所以是否可以只触发说出QInputDialog的背景颜色而不影响父窗口?现在我得到这个:

之前:

enter image description here

后:

enter image description here

它像父母的背景一样被剥离并恢复为默认的系统颜色。

c++ qt qt5 qtstylesheets qinputdialog
1个回答
1
投票

使用QInputDialog而不是QMenu。在这种情况下setStyleSheet( "QInputDialog {background-color: red;}" );。一个好的做法是指出它将影响的小部件。根据你告诉我你的基本小部件是QDialog

“*”使样式仅适用于该窗口小部件,不会级联到其他窗口小部件。

这是一个例子。

setStyleSheet( "QDialog{background-color: black;}"
                   "QInputDialog {background-color: red;};");

ui->label->setStyleSheet("*{background-color: green;}");

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.