QInputDialog 的样式表

Stylesheet a QInputDialog

是否可以设置 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;}" );

在点击时也会改变 parent window,所以是否可以只触发 QInputDialog 的背景颜色而不影响 parent?现在我得到这个:

之前:

之后:

它就像 parent 的背景被剥离并恢复为默认系统颜色。

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

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

这是一个例子。

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

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

输出: