【问题标题】:QComboBox with QPushButtons带有 QPushButtons 的 QComboBox
【发布时间】:2013-10-18 18:17:22
【问题描述】:

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

你有什么建议吗?

【问题讨论】:

    标签: qt qt4 qcombobox qtgui qpushbutton


    【解决方案1】:

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

    QAbstractItemView * QComboBox::view () const
    

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

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

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

    openPersistentEditor ( const QModelIndex & index )
    

    这是一个演示项目 QCombobox with button and spinbox 完全按照您的要求进行。

    【讨论】:

    • 他的问题的一个最小例子会更有用
    猜你喜欢
    • 2014-05-13
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多