Qt-创建QMainWindow

本文介绍了如何使用QMainWindow在Qt环境中创建图形用户界面,包括添加QMenuBar来创建菜单栏,QToolBar用于工具栏,QStatusBar制作状态栏,以及使用QDockWidget实现浮动窗口。同时,提到了中心组件CentralWidget的使用,以及通过Ui和代码方式设置图标的方法。

QMainWindow简介

QMainWindow类提供了一个主应用程序窗口,QMainWindow有自己的布局如下图所示,可在其中添加QMenuBar(菜单栏,只能添加一个)QToolBar(工具栏,可添加多个)QStatusBar(状态栏,可添加一个在窗口最下方)DockWidget(浮动窗口,可添加多个)以及中心组件Central Widget,可被任何类型小部件占据。

代码创建QMainWindow

QMenuBar菜单栏创建

#include <QMenuBar>头文件

 //MenuBar--------------------------
    
    //新建菜单栏
    QMenuBar *menubar = new QMenuBar(this);
    //将新建菜单栏放入窗口中 菜单栏只有一行所以是setMenuBar
    setMenuBar(menubar);
    //菜单栏中添加内容
        //QMenu *filename = menubar->addMenu("文件");
    QMenu *filename = menubar->addMenu("文件(&F)");//Alt+F设置快捷键打开
    QMen
Qt创建一个基于 `QMainWindow` 的新项目,可以通过 Qt Creator 提供的图形化界面或手动编 CMakeLists.txt 文件来完成。以下是详细步骤和相关说明: ### 使用 Qt Creator 创建 QMainWindow 项目 1. 打开 Qt Creator。 2. 在欢迎界面中,点击 "文件" > "新建文件或项目"(或直接使用快捷键 Ctrl+N)。 3. 在模板选择页面,选择 **Application** 类型下的 **Qt Widgets Application** 模板 [^5]。 4. 点击 “选择”按钮后,输入项目名称并选择保存路径。 5. 接下来会进入类名设置界面,默认情况下会生成三个类:`QMainWindow` 的子类、主窗口的 UI 文件以及对应的 `.cpp` 文件。可以保留默认设置或自定义类名。 6. 最后确认配置,Qt Creator 将自动创建包含 `QMainWindow` 的完整项目结构。 ### 手动创建基于 QMainWindow 的项目 如果希望手动创建项目,则需要准备以下文件结构: ``` MyProject/ ├── CMakeLists.txt ├── main.cpp ├── mainwindow.h ├── mainwindow.cpp └── mainwindow.ui ``` #### 编 CMakeLists.txt ```cmake cmake_minimum_required(VERSION 3.5) project(MyProject LANGUAGES CXX) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(SOURCES main.cpp mainwindow.cpp ) set(HEADERS mainwindow.h ) set(FORMS mainwindow.ui ) find_package(Qt5Widgets REQUIRED) add_executable(${PROJECT_NAME} ${SOURCES} ${FORMS} ${HEADERS}) target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets) ``` #### main.cpp 内容 ```cpp #include <QApplication> #include "mainwindow.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); MainWindow window; window.show(); return app.exec(); } ``` #### mainwindow.h 内容 ```cpp #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); }; #endif // MAINWINDOW_H ``` #### mainwindow.cpp 内容 ```cpp #include "mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { resize(800, 600); setWindowTitle("QMainWindow Example"); } MainWindow::~MainWindow() {} ``` 最后,通过命令行编译并运行该项目: ```bash mkdir build && cd build cmake .. make ./MyProject ``` 以上方法适用于 Linux 或其他支持 Qt 和 CMake 的平台 [^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值