是否可以设置QComboBox下拉列表的选定项样式(Qt样式表)?
最佳答案
解决办法是
- 创建一个ListView对象
- 设置其样式表
- 将其用作 ComboBox 的 View
方法如下:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow * mainWindow = new QMainWindow();
QComboBox * combo = new QComboBox(mainWindow);
QListView * listView = new QListView(combo);
combo->addItem("foo");
combo->addItem("bar");
combo->addItem("foobar");
combo->addItem("fooooo");
listView->setStyleSheet("QListView::item { \
border-bottom: 5px solid white; margin:3px; } \
QListView::item:selected { \
border-bottom: 5px solid black; margin:3px; \
color: black; \
} \
");
combo->setView(listView);
mainWindow->show();
app.exec();
return 0;
}
备注: 我认为,according to the Qt docs应用这种风格应该也有效......但事实并非如此。
QComboBox QAbstractItemView::item {
border-bottom: 5px solid white; margin:3px;
}
QComboBox QAbstractItemView::item:selected {
border-bottom: 5px solid black; margin:3px;
}
关于qt - QComboBox下拉列表-设置选中项样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417038/