QT将基类从QDialog直接提升为QWidget窗口

本文详细介绍了如何在不改变原有工程结构的情况下,将基于QDialog的窗口升级为QWidget窗口,以实现窗口缩放功能。通过修改基类、UI界面文件及头文件,使窗口具备更多灵活性。

前言:有时候建立新工程的时候把窗口的基类设置为了QDialog,比如说我,因为开始入门的时候一直是继承QDialog,所以后面也没有再注意到这个问题,后面发现QDialog实现的窗口不能实现缩放,所以后来就造成了现在的困扰,想要将其提升为QWidget窗口(不用移植到新工程)。

QDialog就是一个简单的消息框,和QMainwindow一样继承来自QWidget,先来看看三者之间的区别。
首先可以看到在这里有三个基类可以选择,分别是:QDialog QMainwindow QWidget

在这里插入图片描述
QDialog 界面
在这里插入图片描述
QMainwindow 界面
在这里插入图片描述
QWidget界面
在这里插入图片描述
下面就讲一下如何将窗口直接从从QDialog直接提升为QWidget窗口,只需要简单的几步:

环境: QT5.7 MSVC2013 WIN10

1、将初始化时定义的基类从QDialog变为QWidget,头文件和cpp文件都需改动,头文件中还需要添加QWidget的头文件
2、修改UI界面的头文件ui_dialog.h(或者其他的名称),将其中的QDialog变为QWidget,应该有两处
3、修改UI界面 .ui文件,用常用的文本编辑器打开就行,比如sublinme打开,该文件不能再QT creater 中修改,所以用其他方式打开,将其中的class=‘QDialog’ 修改 为class=’QWidget‘,此处如不修改的话,UI界面就还是默认使用’QDialog’ ,那么第二步中做的就白费了,还会被重新修改回来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值