QT 里关于QMainWindow

 初学知识不深,现在给出我自己在写QMainWindow里的一些认知,主要是从代码上体现。

1、QWidget应该是QMainWindow的基类,但是QMainWindow应该是比较成熟的一个类,从它的名字上可以看出它是一个mainwindow,而widget只是一个控件,你想让它成为一个大界面估计也没问题,因为我也这样写过,但是QMainWindow应该是多了东西,看资料上说是多了工具栏这种,但实际敲下来如果我把一个widget设置为主界面好像也差不多。

ps:这里不是向上转型好像是对象树。

不管是QWidget还是QMainWindow都不可以直接当做对象去使用,(源码没看,也许可以),我们都要将自己自定义的类去继承这些,这里可以看到继承的是QMainWindow,但是构造函数里,是可以用QWidget去初始化QMainWindow类。

题外话:父类构造函数如果有参数,需要放在初始化列表里初始化。

2、QMainWindow不能直接初始化布局,如果当前是QWidget可以

QVBoxLayout *layout = new QVBoxLayout(this);

但是QMainWindow不一样,首先要把自己给一个QWidget,设置这个为中心布局,然后把这个中心布局给QVBoxLayout管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值