0

是否可以设置 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 的背景颜色而不影响父窗口?现在我得到这个:

前:

在此处输入图像描述

后:

在此处输入图像描述

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

4

1 回答 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;}");

输出:

在此处输入图像描述

于 2017-01-05T20:32:19.073 回答