【问题标题】:How to extend QDockWidget functions in Qt?如何在 Qt 中扩展 QDockWidget 功能?
【发布时间】:2014-02-09 03:44:27
【问题描述】:

我是 Qt 的新手,尝试了几个小部件,发现 QDockWidget 是最现代/最互动的小部件

但我发现了一个小限制“关于将小部件停靠在 4 侧的位置,左/右/上/下”

我想做以下两件事之一,并且任何一件都应该工作

  1. 为停靠小部件添加更多区域“例如,它可以识别小部件之间的分隔符并从那里获取其数据,然后根据此调整自身大小”
  2. 将QDockWidget的全部功能重新实现为QWidget并做 它喜欢选项 1

提前致谢

【问题讨论】:

    标签: c++ qt user-interface qt5 qdockwidget


    【解决方案1】:

    在 Qt 中,您几乎可以将任何类继承到您自己的新类中并自己扩展它。例如:

    // New class that inherits QDockWidget and extends its functionality
    ExtendedQDockWidget : public QDockWidget
    {
    public:
        ExtendedQDockWidget(QWidget * parent = 0) : 
            QDockWidget(parent)
        {
            // ... do any extra initialisations here
        }
    
        ExtendedFunc(/* some params */)
        {
            // code here
        }
    }
    

    您还可以重新实现或重载现有函数以完全按照您的意愿行事。

    【讨论】:

    • 好吧,我想我知道这一点:D,我只是想知道是否有任何虚拟功能可以检测我可以覆盖的区域,而不是从头开始编写员工
    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多