我无法弄清楚如何更改QComboBox的一个特定项目的文本颜色.我能够更改项目的背景颜色:
comboBox->setItemData(i, Qt::green, Qt::BackgroundRole);
Run Code Online (Sandbox Code Playgroud)
(Qt::ForegroundRole完全没有效果,Qt 4.6,Ubuntu 10.04)
我能够用样式表更改所有项目的文本颜色,但我无法弄清楚如何更改一个指定项目的文本颜色.
谢谢你的帮助!
我的ui上有一个QComboBox并按如下所示设置模型:
QStringListModel* model = new QStringListModel;
QStringList stringlist;
stringlist << "Test1" << "Test2" << "Test3";
model->setStringList(stringlist);
ui->comboBox->setModel(model);
Run Code Online (Sandbox Code Playgroud)
现在,我想将当前索引更改为none(以便获得一个空白的组合框)。
我已经尝试使用将当前索引设置为-1 ui->comboBox->setCurrentIndex(-1);,但结果是在qlist中超出范围表达式的索引:
ASSERT failure in QList<T>::operator[]: "index out of range", file F:/Qt/5.4/mingw491_32/include/QtCore/qlist.h, line 486
Run Code Online (Sandbox Code Playgroud) 我有一个 QML ,上面ComboBox有一个QAbstractListModel附件。像这样的东西:
ComboBox {
model: customListModel
}
Run Code Online (Sandbox Code Playgroud)
我希望它在下拉列表中显示模型中没有的额外项目。
例如,假设有两个项目customListModel:苹果和橙子。在下拉列表中应显示以下选项:
我无法将其添加到模型中,因为它包含自定义对象,并且我在程序中的其他几个地方使用了该模型,这会搞砸一切。
如何将这个“全选”选项添加到ComboBox???
我工作的应用程序 GUI 需要一个组合框供用户选择项目。当应用程序启动时,组合框将显示类似于“请选择”的提示文本,而不是显示组合框的第一项。我在http://doc.qt.io/qt-5/qcombobox.html#currentText-prop 中找不到任何设置提示文本的方法。
预先感谢!
我的程序打开一个基于wxFrame的窗口和多个无模式和无父对话的基于wxDialog的窗口.除了基于wxDialog的窗口始终位于基于wxFrame的窗口之外,它一切都很好用.
我知道wxDIALOG_NO_PARENT,我正在使用它.当我关闭wxFrame时,对话框保持打开状态,因此他们肯定没有将wxFrame窗口作为父窗口.
(如果重要的话,我正在使用C++,wxWidgets 2.8.something,并在Ubuntu Linux上运行.我的程序还没有准备好在任何其他平台上编译,所以我还没有在其他平台上测试它.)
我希望所有窗口完全独立运行,因此用户可以使用wxFrame窗口以及wxDialog窗口.谁能指出我正确的方向?