1

我想创建一个包含按钮和 QLabel 的多列的 qt 组合框。如果我查看 QSpinBox 编辑器示例,编辑器仅设置为一个 QSpinBox 控件。我们可以创建这样一个复杂的控件并处理事件吗?

你有什么指示吗?

4

1 回答 1

0

QCombobox 内部有一个 abstractitemview 可以通过以下方式访问:

QAbstractItemView * QComboBox::view () const

一旦你有了指向这个视图的指针,你就可以为这个视图定义你自己的委托。此视图绘制弹出窗口。

QAbstractItemViewQLabel可以有自定义委托,它可以是一个带有或任何你喜欢的按钮。

此外,您可能希望使用此调用使委托在视图弹出时显示自身:

openPersistentEditor ( const QModelIndex & index )

这是一个演示项目QCombobox,带有按钮和旋转框,完全符合您的要求。

于 2014-01-10T22:12:04.303 回答