【发布时间】:2013-10-18 18:17:22
【问题描述】:
我想创建一个 qt 组合框,其中包含多个包含按钮和 QLabel 的列。如果我查看 QSpinBox 编辑器示例,该编辑器仅设置为一个 QSpinBox 控件。我们可以创建一个这样的复杂控件并处理事件吗?
你有什么建议吗?
【问题讨论】:
标签: qt qt4 qcombobox qtgui qpushbutton
我想创建一个 qt 组合框,其中包含多个包含按钮和 QLabel 的列。如果我查看 QSpinBox 编辑器示例,该编辑器仅设置为一个 QSpinBox 控件。我们可以创建一个这样的复杂控件并处理事件吗?
你有什么建议吗?
【问题讨论】:
标签: qt qt4 qcombobox qtgui qpushbutton
QCombobox 内部有一个 abstractitemview 可以通过以下方式访问:
QAbstractItemView * QComboBox::view () const
一旦你有了指向这个视图的指针,你就可以为这个视图定义你自己的委托。此视图绘制弹出窗口。
QAbstractItemView 可以有自定义委托,它可以是带有QLabel 或任何你喜欢的按钮。
此外,您可能希望使用此调用使委托在视图弹出时显示自己:
openPersistentEditor ( const QModelIndex & index )
这是一个演示项目 QCombobox with button and spinbox 完全按照您的要求进行。
【讨论】: