02-QMainWindow

QT学习方法:使用手册
1. 使用手册查询函数及函数参数:产看addToolBar函数位置参数,可以直接将此函数复制到帮助手册搜索框中,之后点击文档中对应函数参数进行查看。
2. 有类名忘记时,可以在帮助手册中输入记住的关键字,例如QTextEdit可以输入edit进行查询。

QMainWindow是一个为用户提供主窗口程序的类,包含:
        1. 一个菜单栏
        2. 多个工具栏
        3. 多个铆接部件
        4. 一个状态栏
        5. 一个中心部件

使用代码实现QMainWindow各种窗口

一. 菜单栏

1. 创建菜单栏的方法1:2、3两条语句虽然在语义上有些重复,但是可以通过测试来查看实际效果。组合使用才是比较完整的。

    QMenuBar *m = new QMenuBar();
    m->setParent(this); //设置父对象
    this->setMenuBar(m); //添加菜单栏

2. 创建菜单栏的方法2:凡是只能创建一个的部件,都可以使用此方法。

QMenuBar *m = this->menuBar();

3. 菜单栏(QMenuBar)、菜单(QMenu)、菜单项(QAction)、分隔符(Separator)

    QMenuBar *m = this->menuBar();
    
    QMenu *fileMenu = m->addMenu("文件");
    QMenu *editMenu = m->addMenu("编辑");

    fileMenu->addSeparator(); //添加分隔符

    QAction *create = fileMenu->addAction("新建");
    QAction *copy = editMenu->addAction("复制");

二. 工具栏

1. 创建:添加工具栏时可以设置停靠。

    QToolBar *toolBar = new QToolBar(this);
    this->addToolBar(Qt::LeftToolBarArea, toolBar);

2. 设置可以拖动到的位置。

toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

3. *设置浮动

toolBar->setFloatable(false);

4. 工具栏(QToolBar)、菜单项(QAction)

    toolBar->addAction(create);
    toolBar->addSeparator(); //添加分隔符
    toolBar->addAction(copy);

三. 状态栏

1. 创建:

    QStatusBar *statusBar = this->statusBar();

2. 添加标签:

    QLabel *label = new QLabel("提示信息", this);
    QLabel *label2 = new QLabel("右侧提示信息", this);
    statusBar->addWidget(label); //左侧添加
    statusBar->addPermanentWidget(label2); //右侧添加

四. 铆接部件

1. 创建:

    QDockWidget *dock = new QDockWidget("中心部件", this);
    this->addDockWidget(Qt::BottomDockWidgetArea, dock);

2. 允许拖动位置:

dock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);

五. 中心部件

1. 创建:中心部件虽然只能有一个,但是有多种,所以还是使用new来创建,此处要使用set来“设置”而不是使用add“添加”。

    QTextEdit *edit = new QTextEdit(this);
    this->setCentralWidget(edit);

使用ui界面设置器实现QMainWindow各种窗口

ui界面设置器默认提供了菜单栏、状态栏和工具栏。

一. 菜单栏

在菜单栏中输入中文作为菜单,之后输入的菜单项必须是英文,在代码中可以使用的名称默认为actionopen等。
        1. 点击菜单项可以在QAction中修改text项以修改显示的名称。
        2. 点击菜单项可以在QObject中修改objectName项以修改在代码中使用的名称。

二. 工具栏

可以使用创建好的菜单项进行添加:将Action Editor中的菜单项拖拽放入工具栏即可。

添加资源文件

1. 添加:添加新文件 -> Qt Resource File -> 前缀 -> 资源文件 -> 编译
2. 使用:: + 前缀 + 文件名
        ui->actionxxx->setIcon(QIcon(":/Image/xxx.png"));

猜你喜欢

转载自blog.csdn.net/Hello_MyDream/article/details/88750736