zoukankan      html  css  js  c++  java
  • QT 菜单程序


    MainWindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include<QMainWindow>
    #include<QMessageBox>
    
    
    class MainWindow : public QMainWindow{
        Q_OBJECT
    public:
        MainWindow();
    
    private slots:
        void fExit();
        void iInfo();
    
    private:
        void createMenus();
        void createActions();
    
        QAction *exit;
        QAction *info;
        QMenu *file;
        QMenu *about;
        QMessageBox *msgBox;
    };
    
    #endif // MAINWINDOW_H
    

    MainWindow.cpp

    #include<QtGui>
    #include"MainWindow.h"
    
    MainWindow::MainWindow(){
        QWidget *widget=new QWidget;
        setCentralWidget(widget);
    
        QWidget *topfiller=new QWidget;
        topfiller->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
    
        QWidget *bottomFiller=new QWidget;
        bottomFiller->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
    
        createActions();
        createMenus();
    
        QVBoxLayout *layout=new QVBoxLayout;
        layout->addWidget(topfiller);
        layout->addWidget(bottomFiller);
        widget->setLayout(layout);
    
        setWindowTitle(tr("Main Window"));
        resize(512,480);
    
    }
    
    void MainWindow::createActions(){
        exit=new QAction(tr("Exit"),this);
        exit->setShortcut(QKeySequence::Close);
        connect(exit,SIGNAL(triggered()),this,SLOT(fExit()));
    
        info =new QAction(tr("Info"),this);
        info->setShortcut(QKeySequence::HelpContents);
        connect(info,SIGNAL(triggered()),this,SLOT(iInfo()));
    
    }
    
    void MainWindow::createMenus(){
        file=menuBar()->addMenu(tr("File"));
        file->addAction(exit);
    
        about=menuBar()->addMenu(tr("About"));
        about->addAction(info);
    }
    
    void MainWindow::fExit(){
        MainWindow::close();
    }
    
    void MainWindow::iInfo(){
        msgBox=new QMessageBox;
        msgBox->setText(tr("hello world"));
        msgBox->setIcon(QMessageBox::Question);
        msgBox->setStandardButtons(QMessageBox::Ok);
        msgBox->exec();
    }
    

    Main.cpp

    #include<QApplication>
    #include"MainWindow.h"
    
    
    int main(int argc,char* argv[]){
        QApplication app(argc,argv);
        MainWindow wnd;
        wnd.show();
        app.exec();
    
    }
    


    运行效果:



  • 相关阅读:
    JS定时器做物体运动
    JS做动态表格
    JS如何做2048(详细)
    改变 C/C++ 控制台程序的输出颜色和样式
    The Game Of Life – 数据结构与算法的敲门砖
    适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案
    「踩坑记」Android API 判断权限申请结果的闪退问题
    Hello World!
    js 放大镜效果
    js 随机验证码生成及校验
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3161577.html
Copyright © 2011-2022 走看看