c++ - 设置 QComboBox 大小多个项目

标签 c++ qt combobox

我希望 QComboBox 大小大于 1。默认情况下它是 1。从“大小”我的意思是它应该一次显示多个选项,而无需在组合框上单击鼠标。我在 QComboBox Doc 上找不到任何功能。对于我想要的行为可以通过这个html代码来理解。在HTML中它是这样完成的。

 <select size="3">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="opel">Opel</option>
      <option value="audi">Audi</option>
    </select>

Link to this source 。查看右侧的结果。

我应该怎么做才能在qt中实现这样的“从列表中选择”功能?

最佳答案

你不能这样做。 QComboBox 只是一个 QLineEdit,带有向下箭头按钮、弹出菜单( View ),由模型(QStandardItemModel 等)描述。

QLineEdit 不允许您显示多于一行。

您应该使用QListWidget来完成简单的任务,使用QListView来完成更困难的任务。它与您的示例非常相似。

您可以从@thuga的评论中获取链接。文档包含所有必要的内容,例如 itemChanged (QListWidgetItem * item) 信号和其他示例。

我认为使用 QComboBox 可以实现的最大效果就是每次都保持此 comboBox 打开。为此,请使用 showPopup() 方法。

关于c++ - 设置 QComboBox 大小多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26403285/

相关文章:

c++ - 在 C/C++ 中实现工作窃取队列?

c++ - 如何禁用 Qt 中 QTreeWidget 上的拖动突出显示?

c++ - Qt/C++ 图像不出现在屏幕上

wpf - MVVM 中没有静态资源的 RelativeSource FindAncestor?

java - 绑定(bind)两个 JComboBox 过滤器

C++11 "auto"到非 C++11 编译器

c++ - 如何在 C++ 编译时检测结构的成员是否是位域?

c++ - QML - 将信号从 C++ 连接到 qml

C# ComboBox.Items 是属性还是数组?

c++ - 模板函数产生 undefined reference 错误