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."));这句话是点在动作上,状态栏会显示响应的状态!结果如下:

  • 相关阅读:
    网络--会话层、表示层、应用层
    Unix C
    操作系统原理
    TCP/UDP
    config OSX firewall programmatically
    Objective-C 浅谈
    OS X background process
    CreateProcessWithToken 1058 error
    WebBrowser keystroke
    MFC加载PNG图片并实现双缓冲
  • 原文地址:https://www.cnblogs.com/love6tao/p/5198115.html
Copyright © 2011-2022 走看看