物联网-QT——2、菜单、工具、资源文件、对话框、弹窗、标签

菜单栏,菜单,菜单项

#include "mainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //设置窗口
    this->resize(800,600);
    this->setWindowTitle("主窗口");

    //获取菜单栏,用QMenuBar指针接收
    QMenuBar* MyMenubar = this->menuBar();

    //设置菜单,用QMenu指针接收
    QMenu* Menu1 = MyMenubar->addMenu("文件");
    QAction* action1 = Menu1->addAction("打开");
    //添加菜单分割线
    Menu1->addSeparator();
    QAction* action2 = Menu1->addAction("保存");

}

MainWindow::~MainWindow()
{
}


工具栏


    //获取工具栏
    QToolBar* toolbar1 = this->addToolBar("工具栏");

    //设置工具栏
    toolbar1->addAction(action1);
    toolbar1->addAction(action2);

状态栏:

    //获取状态栏
    QStatusBar* status1 = this->statusBar();
    //设置状态栏
    status1->addWidget(new QLabel("status:"));

铆接控件,浮动窗口:

//创建铆接控件,浮动窗口
    QDockWidget* dockwidget = new QDockWidget();
    //将铆接控件添加到窗口
    this->addDockWidget(Qt::TopDockWidgetArea,dockwidget);

中心控件:

    //创建中心控件
    QTextEdit* centertext = new QTextEdit("中心控件");
    //添加中心控件到窗口
    this->setCentralWidget(centertext);

资源文件
添加文件:
右键项目:点击QT:Qt Resource File:下一步;
将资源文件放到项目文件夹下;
填写文件名点击下一步;
点击 Add Prefix:点击Add files,选择文件;
添加后:右键文件选择:复制资源路径

    //创建
    QPixmap pix;
    //加载
    pix.load(":/new/prefix1/logo.jpg");
    //设置图片到菜单项
    action1->setIcon(pix);
    //设置菜单到窗口图标
    this->setWindowIcon(pix);

点击按钮弹出文件选择框

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QFileDialog"
#include "QString"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->setWindowTitle("主窗口");
    this->resize(800,600);

    btn1 = new QPushButton("打开",this);

    connect(btn1,&QPushButton::clicked,this,[](){
    	
    	QStringList str = QFileDialog().getOpenFileNames();
    	qDebug()<<str[0];
    });
}

MainWindow::~MainWindow()
{
    delete ui;
}


对话框:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QFileDialog"
#include "QString"
#include <QDebug>
#include <QColorDialog>
#include <QColor>
#include <QMessageBox>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->setWindowTitle("主窗口");
    this->resize(800,600);

    btn1 = new QPushButton("打开",this);

    connect(btn1,&QPushButton::clicked,this,[](){
        //颜色选择框
        QColor color = QColorDialog().getColor();
        qDebug()<< color;

        //文件选择框
        QStringList str = QFileDialog().getOpenFileNames();
        qDebug()<<str[0];
    });


    //按钮
    btn2 = new QPushButton("对话框",this);
    btn2->move(100,0);
    //绑定
    connect(btn2,&QPushButton::clicked,this,[&](){
        //对话窗
//        QMessageBox::about(this,"标题","内容");

        int a=QMessageBox::question(this,"标题","内容",
            QMessageBox::Ok|QMessageBox::Open|QMessageBox::Save);
        if(a==QMessageBox::Ok){
            qDebug()<<QMessageBox::Ok;
        }else if(a==QMessageBox::Open){
            qDebug()<<QMessageBox::Open;
        }else{
            qDebug()<<QMessageBox::Save;
        }
    });



}

MainWindow::~MainWindow()
{
    delete ui;
}


标签超链接

QLabel* lab = new QLabel(this);
    lab->setText("<a href=\"https://www.baidu.com\">百度</a>");
    lab->move(300,0);
    lab->setOpenExternalLinks(true);

鼠标检测事件:

void MainWindow::mousePressEvent(QMouseEvent *event){
    qDebug()<<event->x();
    qDebug()<<event->y();
}

void MainWindow::mouseMoveEvent(QMouseEvent *event){
    qDebug()<<event->x();
    qDebug()<<event->y();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值