类似于这种:

Qt编程之实现属性窗口编辑器

 

就是右下角这个框,有属性名字和对应的value编辑。

 

这个Widget是作为一个QDockWidget被添加到QMainWindow中的。QMainWindow必须要有centralWidget才能添加DockWidget。DockWidget是可以浮动于centralWidget周边(上下左右)的一种Widget。QMainWindow中有addDockWiget这相应的函数添加。

 

而QDockWidget中可以设置相应的Widget,这个Widget(实际上就是属性编辑浏览窗口。)这个Widget实际上不是Qt Native自带的。而是Qt的解决方案中提供的Widget,也就是别人帮你封装做好了Widget,拿来用就可以了。这个Widget就是QtPropertyBrowser

 

样例代码:

nodeproperty.h  此类继承了QDockWidget

 1 #ifndef NODE_PROPERTY_H
 2 #define NODE_PROPERTY_H
 3 
 4 #include <QObject>
 5 #include <QDockWidget>
 6 #include "diagramitem.h"
 7 
 8 
 9 QT_BEGIN_NAMESPACE
10 
11 class QDockWidget;
12 class QtVariantPropertyManager;
13 class QtProperty;
14 class QtVariantProperty;
15 class QtVariantEditorFactory;
16 class QtTreePropertyBrowser;
17 QT_END_NAMESPACE
18 
19 
20 class NodePropertyWidget:public  QDockWidget
21 {
22 public:
23     
24     NodePropertyWidget(DiagramItem::DiagramType type, QWidget* parent = 0);
25     ~NodePropertyWidget();
26 
27 private:
28     void createProcessTreeProperty();
29     void createDisplayTreeProperty();
30     void createArrowTreeProperty();
31 
32 private:
33     QtVariantPropertyManager *variantManager;
34     QtProperty *topItem;
35     QtVariantProperty *item;
36     QtVariantEditorFactory *variantFactory;
37     QtTreePropertyBrowser *variantEditor;
38 };
39 
40 
41 
42 
43 #endif
View Code

相关文章:

  • 2021-11-27
  • 2021-07-17
  • 2022-01-03
  • 2021-12-06
  • 2021-07-09
  • 2021-08-24
  • 2022-12-23
  • 2022-01-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2022-12-23
  • 2021-06-21
  • 2021-07-11
相关资源
相似解决方案