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

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

示例:

Qt Widgets——工具栏和状态栏

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;  

}  

你可能感兴趣的:(widget)