zoukankan      html  css  js  c++  java
  • Qt笔记之 界面控件

    界面控件

    QMainWindow

    窗口结构

    菜单栏和工具栏

    #include "mainwindow.h"
    #include <QMenuBar>
    #include <QToolBar>
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
    {
        resize(600,400);
    
        // 菜单栏 只有一个
        QMenuBar *bar = menuBar();
        this->setMenuBar(bar);
    
        // 添加菜单
        QMenu *fileMenu = bar->addMenu("文件");
        QMenu *editMenu = bar->addMenu("编辑");
    
        // 添加菜单项
        QAction *newAction = fileMenu->addAction("新建");
        // 添加分割线
        fileMenu->addSeparator();
        QAction *openAction = fileMenu->addAction("打开");
    
        // 工具栏 可以有多个
        QToolBar *toolBar = new QToolBar(this);
        addToolBar(Qt::RightToolBarArea,toolBar);
    
        // 只允许左右停靠
        toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    
        // 设置浮动
        toolBar->setFloatable(false);
    
        // 设置移动(总开关)
        toolBar->setMovable(false);
    
        // 工具栏中设置菜单项
        toolBar->addAction(newAction);
        toolBar->addSeparator();
        toolBar->addAction(openAction);
    }
    
    MainWindow::~MainWindow()
    {
        delete toolBar;
    }
    

    效果:

    状态栏-浮动窗口和中心部件

    #include "mainwindow.h"
    #include <QMenuBar>
    #include <QToolBar>
    #include <QLabel>
    #include <QStatusBar>
    #include <QDockWidget>
    #include <QTextEdit>
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
    {
        resize(600,400);
    
        // 菜单栏 只有一个
        QMenuBar *bar = menuBar();
        this->setMenuBar(bar);
    
        // 添加菜单
        QMenu *fileMenu = bar->addMenu("文件");
        QMenu *editMenu = bar->addMenu("编辑");
    
        // 添加菜单项
        QAction *newAction = fileMenu->addAction("新建");
        // 添加分割线
        fileMenu->addSeparator();
        QAction *openAction = fileMenu->addAction("打开");
    
        // 工具栏 可以有多个
        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->addSeparator();
        toolBar->addAction(openAction);
    
        // 状态栏 只有一个
        QStatusBar *stBar = statusBar();
        setStatusBar(stBar);
    
        QLabel *labell = new QLabel("左侧信息");
        stBar->addWidget(labell);
    
        QLabel *labell2 = new QLabel("右侧信息");
        stBar->addPermanentWidget(labell2); // 从右往左添加
    
        // 铆接部件 浮动窗口 可以有多个
        QDockWidget *dockWidget = new QDockWidget("浮动窗口",this);
        addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
        // 只允许上下停靠
        dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
    
        // 核心部件 中心部件
        QTextEdit *textEdit = new QTextEdit(this);
        setCentralWidget(textEdit);
    }
    
    MainWindow::~MainWindow()
    {
        delete toolBar;
        delete labell;
        delete labell2;
        delete dockWidget;
        delete textEdit;
    }
    

    资源文件的添加

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this); // 放入到程序的最上侧
    
        // 在新建菜单上添加图片
        // ui->actionNew->setIcon(QIcon("D:\资源\图片\1.png"));
    
        // 添加文件:res.qrc
        // 使用:: + 前缀名 + 文件名
        ui->actionNew->setIcon(QIcon(":/1.png"));
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    

    添加res文件:

    添加资源:

  • 相关阅读:
    大纲锤炼:深入浅出WF4.0
    谈谈技术面试 A Lazy Programmer's Footprint
    推荐一本写给IT项目经理的好书
    UML成长笔记
    写于Silverlight整装待发之际【瞿杰】
    虛擬化、iPad/iPhone相關運用、攝影方面
    (2)经典导读:(webabcd)的Silverlight文章索引
    (1)经典导读:坚持学习WF文章索引[carysun]
    索引测试
    js导航条 二级滑动 模仿块级作用域
  • 原文地址:https://www.cnblogs.com/zhujiangyu/p/14190583.html
Copyright © 2011-2022 走看看