样式表是QInputDialog

时间:2017-01-05 20:06:26

标签: c++ qt qt5 qtstylesheets 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->setStyleSheet( "QInputDialog {background-color: red;}" );
点击上的

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

在:

enter image description here

后:

enter image description here

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

1 个答案:

答案 0 :(得分: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