【发布时间】:2019-11-19 09:52:17
【问题描述】:
从“正常”QCombobox开始
我想要一个QCombobox,它只在展开时显示图标,而在折叠时不显示。
我找到了几个类似问题的答案,但它们都显示了更复杂情况的代码,我还没有设法提炼出它的核心。
我见过两种方法:附加QListView 或使用QItemDelegate(或两者兼有)。
但我找不到任何直截了当的示例代码。
这是我的起点:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->iconsComboBox->addItem(QIcon(":/icons/1.png"), "red");
ui->iconsComboBox->addItem(QIcon(":/icons/2.png"), "green");
ui->iconsComboBox->addItem(QIcon(":/icons/3.png"), "pink");
auto quitAction = new QAction();
quitAction->setShortcuts(QKeySequence::Quit);
addAction(quitAction);
connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
}
该阶段的完整工作代码在这里:https://github.com/aoloe/cpp-qt-playground-qcombobox/tree/simple-qcombobox
如何在 QCombobox 关闭时隐藏图标?
我已接受 eyllanesc 的两个拉取请求:
您可以获取代码并运行它来查看它的实际效果。
【问题讨论】:
-
我发现的最相似的问题可能是Hide Icon from the label of QComboBox,但这个问题有点模糊,唯一的答案并不令人鼓舞(并且指向一个死链接)。