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();
    
    }
    


    运行效果:



  • 相关阅读:
    HDU 4081 Peach Blossom Spring (最小生成树+dfs)
    查看u盘格式
    eclipse使用外部maven时multiModuleProjectDirectory错误解决
    Centos更换yum源,安装ssh server
    gerrit push配置
    netstat
    java多维数组
    RESTful架构3--开发实战
    RESTful架构2--架构详解
    RESTful架构1--架构理解
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3161577.html
Copyright © 2011-2022 走看看