0
点赞
收藏
分享

微信扫一扫

量化交易之QT篇 - QMainWindow核心部件

东言肆语 2022-05-04 阅读 56
qtc++
#include "MainWindow.h"
#include <QMenuBar>
#include <QDebug>
#include <QToolBar>
#include <QPushButton>
#include <QLabel>
#include <QStatusBar>
#include <QDockWidget>
#include <QTextEdit>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    resize(600, 400);

    // 创建菜单栏;
    QMenuBar *mBar = menuBar();

    // 将菜单栏放入到窗口中;
    setMenuBar(mBar);

    // 创建菜单
    QMenu *fileMenu = mBar->addMenu("File");
    QMenu *editMenu = mBar->addMenu("Edit");

    // 创建菜单项
    QAction *newAction = fileMenu->addAction("New");
    // 添加分隔符
    fileMenu->addSeparator();
    QAction *openAction = fileMenu->addAction("Open");



    // 工具栏
    QToolBar *toolBar = new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea, toolBar);

    // 后期设置 只允许左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

    // 设置浮动属性
    toolBar->setFloatable(false);

    // 设置移动(总开关)
    toolBar->setMovable(false);

    // 工具栏中可以设置内容
    toolBar->addAction(newAction);
    toolBar->addAction(openAction);

    // 工具栏中添加控件
    QPushButton *pushButton = new QPushButton("login all", this);
    toolBar->addWidget(pushButton);


    // 状态栏 最多有一个
    QStatusBar *staBar = statusBar();

    // 设置到窗口中
    setStatusBar(staBar);

    // 放标签控件
    QLabel *leftLabel = new QLabel("left tip", this);
    staBar->addWidget(leftLabel);

    QLabel *rightLabel = new QLabel("right tip", this); // 右部添加
    staBar->addPermanentWidget(rightLabel);

    // 浮动窗口 可以有多个
    QDockWidget *dockWidget = new QDockWidget("float", this);
    addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
    // 设置后期停靠区域 只允许上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);

    // 设置中心部件
    QTextEdit *edit = new QTextEdit(this);
    setCentralWidget(edit);

}

MainWindow::~MainWindow()
{

}
举报

相关推荐

0 条评论