qt 菜单栏和工具栏简单实现

双击在这里输入

输入File然后回车

这时候就出现这样的画面

双击在这里输入

输入Open并回车

这时候底下action Edit多了一排Open,就是我们添加的Open选项

双击actionOpen选项,图标可以根据自己添加过的qrc资源文件中导入,这里就不介绍了(想了下,后面还是介绍了下),还可以添加快捷键,光标点击shortcut

选项,按住Ctrl+O,这时候会自动输入Ctrl+O

继续在这里添加New,Save,SaveAs

在New和Save之间可以插个分隔符

这就多出了分隔符

还有另一种添加方式,在action Edit空白区域右键-->新建

在弹框中天Close,并添加快捷键Ctrl+Q

把鼠标放在close那一片,按住鼠标左键,拖到File,这时候File会自动展开,然后拖到SaveAs的下一行,这样就添加一个Close选项了。

将Open拖到菜单栏下一个很小第工具栏(注意看有一个很小第横条,这个是工具栏)

这时候mainToolBar底下就多了一个actionOpen了,同样发方法你可以添加其他第选项,和菜单栏一样的可以添加分隔符

 

想想还是说下添加图片吧,不详细介绍了,只是上图

右键,添加现有文件

找到自己的文件并选中

双击

这样图片就添加完成了,如果不小心添加多了可以右键移除

为每个工具添加图片完成

这时候就可以添加自己的代码了,右键actionOpen转到槽,

 

其他的也是这样添加

这个项目很简单,但是上传了代码,使用的是MinGW_32bit编译,没有测试MSVC是否可以编译通过,请自己评估下载。

另外这个没有实现其他功能,只是提供了可以打印,其他代码得自己实现。代码也在底下全部贴出来,之所以又上传代码是因为有些人太懒,什么都不愿意动,顺便我也可以赚点C币,当然底下的代码和上传的是一样的。

资源下载:https://download.csdn.net/download/lxj362343/12345030

 

//mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
private slots:
#if 0
    void slot_open(bool checked = false);
    void slot_close(bool checked = false);
    void slot_save(bool checked= false);

#endif
    void on_actionOpen_triggered();

    void on_actionClose_triggered();

    void on_actionSave_triggered();

private:
    Ui::MainWindow *ui;
    QMenuBar* pMenuBar;
};

#endif // MAINWINDOW_H
 

 
 

//mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    pMenuBar = menuBar();
//    connect(ui->actionClose,SIGNAL(triggered(bool)),this,SLOT(slot_close(bool)));
//    connect(ui->actionOpen,SIGNAL(triggered(bool)),this,SLOT(slot_open(bool)));
//    connect(ui->actionSave,SIGNAL(triggered(bool)),this,SLOT(slot_save(bool)));
}
#if 0
void MainWindow::slot_open(bool checked)
{
   //Add your code
    qDebug()<<"你点击了菜单栏打开选项按钮";
}
void MainWindow::slot_close(bool checked)
{
   qDebug()<<"你点击了菜单栏关闭选项按钮";
   close();
}
void MainWindow::slot_save(bool checked)
{
   qDebug()<<"你点击了菜单栏保存选项按钮";
}
#endif

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


void MainWindow::on_actionOpen_triggered()
{
     qDebug()<<"你点击了菜单栏打开选项按钮";
}

void MainWindow::on_actionClose_triggered()
{
    qDebug()<<"你点击了菜单栏关闭选项按钮";
    close();
}

void MainWindow::on_actionSave_triggered()
{
    qDebug()<<"你点击了菜单栏保存选项按钮";
}

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值