我可以这样更改QComboBox
颜色:
QPalette palette = ui->selectSource->palette();
palette.setColor(QPalette::Active, QPalette::Button, Qt::white);
palette.setColor(QPalette::Inactive, QPalette::Button, Qt::white);
ui->selectSource->setPalette(palette);
它变成白色,但是当它处于下拉状态时,它仍然具有一些灰色(默认)。
如何改变呢?
最佳答案
您也可以在组合框的下拉 View 中再应用一个调色板。要获得指向下拉 View 的指针,可以使用QComboBox::view()
函数。因此,您的代码将如下所示:
QPalette palette = ui->selectSource->palette();
palette.setColor(QPalette::Active, QPalette::Button, Qt::white);
palette.setColor(QPalette::Inactive, QPalette::Button, Qt::white);
QPalette view_palette = ui->selectSource->view()->palette();
view_palette.setColor(QPalette::Active, QPalette::Background, Qt::white);
ui->selectSource->view()->setPalette(view_palette);
关于c++ - 如何在下拉状态下设置QComboBox背景色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27374213/