zoukankan      html  css  js  c++  java
  • Qt Widgets——工具栏和状态栏

    本文主要涉及QSizeGrip ,QStatusBar ,QToolBar

    QToolBar

    工具栏默认位于菜单栏下方,其上添加一个个action按钮,用于执行动作

    绝大多谢以前都涉及过,只列出

    QToolBar(const QString & title, QWidget * parent = 0)  
            QToolBar(QWidget * parent = 0)  
            ~QToolBar()  
      
    void        addAction(QAction * action)  
    QAction *   addAction(const QString & text)  
    QAction *   addAction(const QIcon & icon, const QString & text)  
    QAction *   addAction(const QString & text, const QObject * receiver, const char * member)  
    QAction *   addAction(const QIcon & icon, const QString & text, const QObject * receiver, const char * member)  
    QAction *   addSeparator()  
    QAction *   addWidget(QWidget * widget)  
    void        clear()  
    void    setAllowedAreas(Qt::ToolBarAreas areas)//设置允许停靠区域  
    void    setFloatable(bool floatable)//是否允许拖动成独立窗口,默认是  
    void    setMovable(bool movable)//设置是否可移动位置,默认是  
    void    setOrientation(Qt::Orientation orientation)//设置方向,主窗口为QMainWindow时不能使用,值有Qt::Horizontal和Qt::Vertical  
    QAction *   insertSeparator(QAction * before)  
    QAction *   insertWidget(QAction * before, QWidget * widget)  
      
    bool    isAreaAllowed(Qt::ToolBarArea area) const  
    bool    isFloatable() const  
    bool    isFloating() const  
    bool    isMovable() const  
    Qt::Orientation orientation() const  
    QAction *   toggleViewAction() const  
    Qt::ToolButtonStyle toolButtonStyle() const  
    QWidget *   widgetForAction(QAction * action) const  
    QAction *   actionAt(const QPoint & p) const  
    QAction *   actionAt(int x, int y) const  
    Qt::ToolBarAreas    allowedAreas() const  
    QSize       iconSize() const 

    Public Slots

    void setIconSize(const QSize & iconSize)
    void setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

    Signals

    void actionTriggered(QAction * action)
    void allowedAreasChanged(Qt::ToolBarAreas allowedAreas)
    void iconSizeChanged(const QSize & iconSize)
    void movableChanged(bool movable)
    void orientationChanged(Qt::Orientation orientation)
    void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)
    void topLevelChanged(bool topLevel)//当它的float属性改变时,信号发送,
    void visibilityChanged(bool visible)//可见性

    ————————————————————————————————————————————————————————

    QStatusBar 

    状态栏,位于窗口的最下方,用于显示文本,提示用户当前的操作

       QStatusBar(QWidget * parent = 0)  
    virtual ~QStatusBar()  
    void    addPermanentWidget(QWidget * widget, int stretch = 0)//添加永久性部件,永久意味着它不能被临时消息(showMessage函数)掩盖,位于最右端,stretch伸缩性为0  
      
    表示给小部件最小的空间  
    void    addWidget(QWidget * widget, int stretch = 0)//位于最左端,当调用showMessage函数时,消息文字将与此函数添加的部件上文字重合  
    QString currentMessage() const  
    int insertPermanentWidget(int index, QWidget * widget, int stretch = 0)  
    int insertWidget(int index, QWidget * widget, int stretch = 0)  
    bool    isSizeGripEnabled() const  
    void    removeWidget(QWidget * widget)  
    void    setSizeGripEnabled(bool)//SizeGrip为尺寸夹具,状态栏的最右下角斜线即是,用于拖动改变窗口尺寸  
    Public Slots
    void clearMessage()
    void showMessage(const QString & message, int timeout = 0)//在状态栏最左端显示message,timeout毫秒后文字消失

    Signals

    void messageChanged(const QString & message)

    ——————————————————————————————————————————————————————————————

    QSizeGrip 

    尺寸夹具,用于改变窗口大小

    Public Functions

      QSizeGrip(QWidget * parent)
      ~QSizeGrip()

    Reimplemented Public Functions

    virtual void setVisible(bool visible)
    virtual QSize sizeHint() const

    ——————————————————————————————————————————————————————————————

    示例:

    pushButton右上角有QSizeGrip ,拖动它可向右上方改变整个MainWindow的大小。

    #include "mainwindow.h"  
    #include "ui_mainwindow.h"  
    #include <QPushButton>  
    #include <QLabel>  
    #include <QSizeGrip>  
      
    MainWindow::MainWindow(QWidget *parent) :  
        QMainWindow(parent),  
        ui(new Ui::MainWindow)  
    {  
        ui->setupUi(this);  
        QPushButton *btn=new QPushButton("PermanentWidget");  
        QLabel *lbl=new QLabel("Widget");  
        ui->statusBar->addPermanentWidget(btn);  
        ui->statusBar->addWidget(lbl);  
      
        ui->statusBar->showMessage("hello",3000);  
      
        QSizeGrip *grip =new QSizeGrip(ui->pushButton);  
        grip->setVisible(true);//不设置这个见不到它……  
    }  
      
    MainWindow::~MainWindow()  
    {  
        delete ui;  
    }  
  • 相关阅读:
    JS高手
    如何删除textarea的移动版Safari的阴影?
    如何删除textarea的移动版Safari的阴影?
    CSS3----background:-webkit-gradient()渐变效果
    a:hover和a:visited书写顺序的重要性
    【经验】在CSS中定义a:link、a:visited、a:hover、a:active顺序
    领导干部要敢于担当
    关于cookie, iphone及chrome的异同
    刘云山:领导干部要敢于担当
    Javascript中Function,Object,Prototypes,__proto__等概念详解
  • 原文地址:https://www.cnblogs.com/newstart/p/4478702.html
Copyright © 2011-2022 走看看