qt 做界面时怎样不使用布局实现最大化
来源:互联网 发布:海洛因戒断反应 知乎 编辑:程序博客网 时间:2024/05/22 08:26
使用qt 的自动布局能够比较方便的实现最大化同时使界面上的控件合理的调整,但是使用布局最大的限制就是你不能手动的调整每个控件在界面中的位置和大小了, 这样对于界面比较复杂,既有水平布局,又有垂直布局的,甚至水平布局垂直布局有交叉,同时又不是栅格布局的情况下使用它的布局来实现最大化就显得问题多多了。
使用后很难控制每个控件的位置,很容易界面变得乱七八糟。(对于简单的界面使用自动布局还是很方便的)
我是通过如下办法实现最大化的:
1、将界面中的控件全都放在Containers中,我使用的是Widget 控件
2、在实现最大化的时候调用
this->setWindowState(Qt::WindowState::WindowFullScreen); 3、获取最大化后屏幕的像素 const QRect rc = QApplication::desktop()->availableGeometry(); int fullWidth = rc.width(); int fullHeight = rc.height(); //屏幕的高度
注意这个方法已经将任务栏的像素去掉(这一点觉得qt做的很不错)如果想遮挡住任务栏真正全屏,比这个要简单。
4、之后基本上就是这三个函数重复调用 挨个重绘每个 widget的位置和大小。
ui->widgettitle2->setFixedWidth( fullWidth - widthTitle3 - (ui->widgettitle1->width())); //设置最大化后控件的宽度 ui->widgettitle3->move( fullWidth - widthTitle3 ,0); // 设置最大化后控件的坐标 ui->widgetlift2->setFixedHeight( fullHeight - 40 - 234 ); //设置最大化后控件的高度 5、这样大体上就完成了最大化,再将每个widget上的小控件调整一下位置和大小就完成了。 是不是很简单。。。。
使用后很难控制每个控件的位置,很容易界面变得乱七八糟。(对于简单的界面使用自动布局还是很方便的)
我是通过如下办法实现最大化的:
1、将界面中的控件全都放在Containers中,我使用的是Widget 控件
2、在实现最大化的时候调用
this->setWindowState(Qt::WindowState::WindowFullScreen); 3、获取最大化后屏幕的像素 const QRect rc = QApplication::desktop()->availableGeometry(); int fullWidth = rc.width(); int fullHeight = rc.height(); //屏幕的高度
注意这个方法已经将任务栏的像素去掉(这一点觉得qt做的很不错)如果想遮挡住任务栏真正全屏,比这个要简单。
4、之后基本上就是这三个函数重复调用 挨个重绘每个 widget的位置和大小。
ui->widgettitle2->setFixedWidth( fullWidth - widthTitle3 - (ui->widgettitle1->width())); //设置最大化后控件的宽度 ui->widgettitle3->move( fullWidth - widthTitle3 ,0); // 设置最大化后控件的坐标 ui->widgetlift2->setFixedHeight( fullHeight - 40 - 234 ); //设置最大化后控件的高度 5、这样大体上就完成了最大化,再将每个widget上的小控件调整一下位置和大小就完成了。 是不是很简单。。。。
文章转自点击打开链接;
阅读全文
0 0
- qt 做界面时怎样不使用布局实现最大化
- qt 做界面时怎样不使用布局实现最大化
- OSG中使用Qt做界面
- Qt怎样禁止用户最大化窗口解决办法
- 怎样把一些信息输出的QT做的界面上?——QT中的printf
- QT界面布局设计
- 不知道怎样做
- qt做启动界面
- Qt做启动界面
- Qt做启动界面
- c#怎样实现换界面但是不换窗口
- 使用表格布局实现界面计算器按钮
- 使用ListView实现界面的布局
- 使用布局实现简单手机信息界面
- 使用ViewPager实现主界面的布局
- 使用html表格布局做一个企业邮箱登录界面
- python使用Qt界面以及逻辑实现
- 使用Qt界面在局域网下做ROS话题发布
- [noip 2011]选择客栈---模拟(?)
- VTK学习(四)vtk程序实例
- DIY多线程下载,断点续传
- 磁力计校正和数据处理
- Kubernetes 1.7最受欢迎的11大新功能
- qt 做界面时怎样不使用布局实现最大化
- 认识Tomcat的日志
- Java 枚举
- Spring4+Springmvc+quartz实现多线程动态定时调度
- 内存溢出和内存泄露的区别
- 关于上次微博事件和面试经历的思考
- 四个超酷的Kubernetes集群管理工具
- SpringMVC_ < sf >表单标签
- java中的常见变量问题