zoukankan      html  css  js  c++  java
  • QT学习笔记4

    顶层窗口-MainWindow

      新建项目,选择基类的时Base Class是QMainWindow

       最上面是Window Title,用于显示标题和控制按钮,比如最大化、最小化和关闭等;下面一些是Menu Bar,用于显示菜单;再下面一点事Toolbar areas,用于显示工具条,注意,Qt的主窗口支持多个工具条显示,因此这里是ares,你可以把几个工具条并排显示在这里,就像Word2003一样;工具条下面是Dock window areas,这是停靠窗口的显示区域,所谓停靠窗口就是像Photoshop的工具箱一样,可以在主窗口的四周显示;再向下是Status Bar,就是状态栏;中间最大的Central widget就是主要的工作区了。

    QAction *openAction;
    

      

        openAction=new QAction(tr("Open"),this);
        openAction->setShortcut(QKeySequence::Open);
        openAction->setStatusTip(tr("Open a file."));
        
        QMenu* file=menuBar()->addMenu(tr("&File"));
        file->addAction(openAction);
        QToolBar *toolBar=addToolBar(tr("&File"));
        toolBar->addAction(openAction);
        

    上述程序新建了一个菜单和一个工具栏,并为菜单和工具栏各自添加了一个按钮。

    菜单QMenu*,通过menuBar()->addMenu(tr("&File"));获得

    工具栏QToolBar *通过addToolBar(tr("&File"));获得

    并为菜单和工具栏各自添加了一个按钮。 都是 file->addAction toolBar->addAction也就是添加响应。

    运行结果如下图。

    添加图标:

    openAction->setIcon(QIcon("H:\for home\learningQT\11\Open.png"));

    一句话搞定,而且可以直接将图片PNG转换为图标,方便快捷。

    信号槽响应:

        private slots:
            void open();
    
    
    
    
    
    QObject::connect(openAction,SIGNAL(triggered()),this,SLOT(open()));
        
    
    void MainWindow::open()
    {
        QMessageBox::information(NULL,tr("Open"),tr("open file"));
    }

    运行结果:

    状态栏:

        msgLabel=new QLabel();
        msgLabel->setMinimumSize(msgLabel->sizeHint());
        msgLabel->setAlignment(Qt::AlignHCenter);
    
        statusBar()->addWidget(msgLabel);
        statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}"));

    状态栏是statusBar(),可以加入label进行显示,并设置好label的大小和位置即可。

    openAction->setStatusTip(tr("Open a file."));这句话是点在动作上,状态栏会显示响应的状态!结果如下:

  • 相关阅读:
    UVa 10118 记忆化搜索 Free Candies
    CodeForces 568B DP Symmetric and Transitive
    UVa 11695 树的直径 Flight Planning
    UVa 10934 DP Dropping water balloons
    CodeForces 543D 树形DP Road Improvement
    CodeForces 570E DP Pig and Palindromes
    HDU 5396 区间DP 数学 Expression
    HDU 5402 模拟 构造 Travelling Salesman Problem
    HDU 5399 数学 Too Simple
    CodeForces 567F DP Mausoleum
  • 原文地址:https://www.cnblogs.com/love6tao/p/5198115.html
Copyright © 2011-2022 走看看