QDockWidget设置初始大小的一个解决方案
来源:互联网 发布:linux var目录满了 编辑:程序博客网 时间:2024/05/17 06:59
QDockWidget仅仅作为其子控件的一个包装,因此对其使用resize()或者setGeometry()均不管用,这造成QDockWidget的初始大小常常不尽如人意。
网上有前辈提出通过调用QDockWidget的setMaximumSize()和setFixedSize()来实现初始大小的定制,但却限制了QDockWidget的最大尺寸,无法通过鼠标拖动来改变大小,因而显得较为麻烦和局限。
kenby在他的博文设置QDockWidget的初始大小中给出了一个解决方案,受他的文章启发,可设计一个QWidget的继承类,在QtDesigner中通过提升来使用。
继承类SizeDockWidget:
class SizeDockWidget : public QWidget{ Q_OBJECTpublic: explicit SizeDockWidget(QWidget * parent = 0, Qt::WindowFlags f = 0) : QWidget(parent,f) { m_szHint = geometry().size(); } void updateSizeHint(QSize & szHint2Set) { m_szHint = szHint2Set; updateGeometry(); } virtual QSize sizeHint() const { return m_szHint; }protected: QSize m_szHint;};
上面的类可以通过调用updateSizeHint来改变控件sizeHint函数的返回值。
使用方法:在QtDesigner中,将SizeDockWidget添加入提升的类中,然后在UI设计器中选中QDockWidget控件的子控件(在右边的对象浏览器中可见该子控件的类型是QWidget),点鼠标右键,选择“提升”为SizeDockWidget类,然后便可以在代码中随意设置对应QDockWidget的初始大小了。
0 0
- QDockWidget设置初始大小的一个解决方案
- QDockWidget设置初始大小的一个解决方案
- 设置QDockWidget的初始大小
- 3.9如何设置一个视图的初始位置和大小?
- Q设置窗口的初始大小
- 该如何设置数据连接池的初始大小
- 如何设置应用程序窗口的初始大小和位置
- 在MFC中如何设置窗口的初始大小?
- 该如何设置数据连接池的初始大小
- QT程序初始化时QDockWidget大小的调整方法
- 如何设置ubuntu终端默认初始大小
- 新建数据文件的初始大小
- Struts2 初始的设置
- vim的初始设置
- git的初始设置
- void glutInitWindowSize(int width, int height);设置初始窗口的大小
- java web start关于初始堆大小的一个有意思的bug
- 为什么用const说明的常量不能用来定义一个数组的初始大小?
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
- jetbrain
- 通过配置tomcat实现项目免部署
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的理解
- github上开源项目
- QDockWidget设置初始大小的一个解决方案
- map的详细用法
- STL源码剖析之仿函数
- MFC多线程互锁
- 关于开博客的几点说明
- Newifi mini路由器刷华硕Padavan固件及无线中继笔记
- Mangos源码分析(4):服务器结构探讨之继续世界服
- 队列小结
- 空合并操作符