使用Qt 实现一个好看的QCombobox
时间: 2024-03-03 07:46:50 浏览: 134
Qt combobox
4星 · 用户满意度95%
要想使用Qt实现一个好看的QComboBox,可以通过设置样式表、使用QIcon、设置QFont和设置数据模型等来实现。下面是一个示例代码,可以用于设置一个好看的QComboBox:
```cpp
#include <QApplication>
#include <QComboBox>
#include <QStandardItemModel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建QComboBox
QComboBox combo;
// 设置样式表
combo.setStyleSheet("QComboBox {"
"border: 2px solid gray;"
"border-radius: 8px;"
"padding: 2px 16px 2px 8px;"
"color: white;"
"background-color: #292929;"
"}"
"QComboBox::drop-down {"
"subcontrol-origin: padding;"
"subcontrol-position: top right;"
"width: 24px;"
"border-left-width: 1px;"
"border-left-color: gray;"
"border-left-style: solid;"
"border-top-right-radius: 8px;"
"border-bottom-right-radius: 8px;"
"background-color: #292929;"
"}"
"QComboBox::down-arrow {"
"image: url(arrow.png);"
"width: 16px;"
"height: 16px;"
"}");
// 设置图标
QIcon icon("arrow.png");
combo.setIcon(icon);
// 设置字体和大小
QFont font("Arial", 12);
combo.setFont(font);
// 设置数据模型
QStandardItemModel model;
model.appendRow(new QStandardItem("Item 1"));
model.appendRow(new QStandardItem("Item 2"));
model.appendRow(new QStandardItem("Item 3"));
combo.setModel(&model);
// 显示QComboBox
combo.show();
return a.exec();
}
```
这段代码会创建一个带有自定义样式、图标、字体和数据模型的QComboBox,并将其显示出来。你可以根据自己的需求修改样式表、图标、字体和数据模型,以达到自己想要的效果。
阅读全文