QT-QMainwindow笔记(未生成ui界面时,纯代码添加)

一、重置窗口的大小

        1.在构造函数里进行窗口大小重置

//重置窗口大小
resize(600,400);

二、菜单栏

        1.菜单栏最多只能有一个

        2.菜单栏本身就在对象树上,窗口关闭时自己就释放了

    //菜单栏最多只能有一个
    //菜单栏创建
    QMenuBar * bar = menuBar();
    //将菜单栏放到窗口中
    setMenuBar(bar);
    //创建菜单
    QMenu * filemenu = bar->addMenu(QString::fromLocal8Bit("文件"));
    QMenu * editmenu = bar->addMenu(QString::fromLocal8Bit("编辑"));
    //创建菜单项
    filemenu->addAction(QString::fromLocal8Bit("新建"));
    //添加分隔符
    filemenu->addSeparator();
    filemenu->addAction(QString::fromLocal8Bit("打开"));

三、工具栏

1.工具栏可以有多个

2.工具栏中可以添加按钮控件等

3.工具栏可以和菜单栏里的功能重复

//创建工具栏
    //工具栏可以有多个
    QToolBar * toolbar = new QToolBar(this);
    //把工具栏添加在窗口中
    addToolBar(toolbar);
    //设置默认停靠在哪
    addToolBar(Qt::LeftToolBarArea,toolbar);
    //允许左右停靠
    toolbar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    //设置浮动的操作
    toolbar->setFloatable(false);
    //设置工具栏的移动(相当于总开关)
    toolbar->setMovable(false);
    //工具栏中设置内容
    toolbar->addAction(newaction);
    //添加分割线
    toolbar->addSeparator();
    toolbar->addAction(openaction);
    //工具栏中添加控件(按钮)
    QPushButton * btn = new QPushButton(QString::fromLocal8Bit("粘贴"),this);
    toolbar->addWidget(btn);

四、状态栏

1.状态栏最多只能有一个

2.将标签控件放在状态栏里用来显示信息

    //状态栏最多只有一个
    //创建一个状态栏
    QStatusBar * statusbar = statusBar();
    //将状态栏设置到窗口中
    setStatusBar(statusbar);
    //放置标签控件(默认在左侧显示)
    QLabel * label = new QLabel(QString::fromLocal8Bit("显示信息"),this);
    statusbar->addWidget(label);
    //放置标签栏在右侧
    QLabel * label1 = new QLabel(QString::fromLocal8Bit("右侧显示信息"),this);
    statusbar->addPermanentWidget(label1);

 

五、铆接部件(浮动窗口)

1.浮动窗口可以有多个

    //浮动窗口可以有多个
    QDockWidget * dockwidget = new QDockWidget(QString::fromLocal8Bit("浮动"),this);
    addDockWidget(Qt::BottomDockWidgetArea,dockwidget);
    //设置中心部件
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);
    //浮动窗口后期设置停靠
    dockwidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::LeftDockWidgetArea);

六、设置中心部件(位置位于中间)

setCentralWidget(edit);

七、总代码

#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
#include <QDockWidget>
#include <QTextEdit>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //重置窗口大小
    resize(600,400);
    //菜单栏最多只能有一个
    /*****************菜单栏创建*****************/
    QMenuBar * bar = menuBar();
    //将菜单栏放到窗口中
    setMenuBar(bar);
    //创建菜单
    QMenu * filemenu = bar->addMenu(QString::fromLocal8Bit("文件"));
    QMenu * editmenu = bar->addMenu(QString::fromLocal8Bit("编辑"));
    //创建菜单项
    QAction * newaction = filemenu->addAction(QString::fromLocal8Bit("新建"));
    //添加分隔符
    filemenu->addSeparator();
    QAction * openaction = filemenu->addAction(QString::fromLocal8Bit("打开"));


    /*****************工具栏创建*****************/
    //工具栏可以有多个
    QToolBar * toolbar = new QToolBar(this);
    //把工具栏添加在窗口中
    addToolBar(toolbar);
    //设置默认停靠在哪
    addToolBar(Qt::LeftToolBarArea,toolbar);
    //允许左右停靠
    toolbar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    //设置浮动的操作
    toolbar->setFloatable(false);
    //设置工具栏的移动(相当于总开关)
    toolbar->setMovable(false);
    //工具栏中设置内容
    toolbar->addAction(newaction);
    //添加分割线
    toolbar->addSeparator();
    toolbar->addAction(openaction);
    //工具栏中添加控件(按钮)
    QPushButton * btn = new QPushButton(QString::fromLocal8Bit("粘贴"),this);
    toolbar->addWidget(btn);


    /*****************状态栏创建*****************/
    //状态栏最多只有一个
    //创建一个状态栏
    QStatusBar * statusbar = statusBar();
    //将状态栏设置到窗口中
    setStatusBar(statusbar);
    //放置标签控件(默认在左侧显示)
    QLabel * label = new QLabel(QString::fromLocal8Bit("显示信息"),this);
    statusbar->addWidget(label);
    //放置标签栏在右侧
    QLabel * label1 = new QLabel(QString::fromLocal8Bit("右侧显示信息"),this);
    statusbar->addPermanentWidget(label1);


    /*****************铆接部件创建*****************/
    //浮动窗口可以有多个
    QDockWidget * dockwidget = new QDockWidget(QString::fromLocal8Bit("浮动"),this);
    addDockWidget(Qt::BottomDockWidgetArea,dockwidget);
    //设置中心部件
    QTextEdit * edit = new QTextEdit(this);
    setCentralWidget(edit);
    //浮动窗口后期设置停靠
    dockwidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::LeftDockWidgetArea);
}

MainWindow::~MainWindow()
{

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值