目录
QT窗口
通过QMainWindow类来实现,是一个提供主窗口程序的类
:包含一个菜单栏(menu bar),多个工具栏(tool bars),多个浮动窗口(dock widgets),一个状态栏(status bar)和一个中心部件(central widget)
窗口分类
主窗口(QMainWindow)、对话框(QDialog)或者是一般的窗口部件(QWidget)
- QMainWindow(主窗口):这是QT中最常见的窗口类型,具有菜单栏、工具栏、状态栏和中心区域;
- QDialog(对话框) :用于创建对话框窗口,常用于提示用户输入信息、显示警告或确认操作等场景。
- QWidget(窗口部件):是最基础的用户界面对象,所有可视部件都继承自它。
菜单栏
Qt的菜单栏是通过QMenuBar来实现的,一个主窗口最多只有一个菜单栏,位于主窗口顶部,主窗口标题下的位置;
菜单栏里面包含了菜单,和菜单项;

创建菜单栏,菜单,菜单项
QMainWindow类本身提供了QMenuBar() (我们创建项目时如果勾选了.ui文件的自动创建),我们不需要在堆上new创建,而且这一方式也会造成本身携带的造成内存泄露:(因为,当我们自己new了挂到树上后,原来的就会脱离对象树,没有对其释放内存。)

菜单栏
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//利用本身存在menubar 创建菜单栏
//1.如果 QMenuBar 已经存在,直接获取并返回
//2.如果 QMenuBar 不存在,就先创建一个新的,再返回
QMenuBar* menuBar = this->menuBar();
// QMenuBar* menuBar = new QMenuBar();
//将其设置到窗口上
this->setMenuBar(menuBar); //如果是获取到已经存在 QMenuBar ,这里的设置就是自己替换自己,仍然在对象树上
}
菜单
创建菜单后,通过


最低0.47元/天 解锁文章
1420

被折叠的 条评论
为什么被折叠?



