本文主要涉及QSizeGrip ,QStatusBar ,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(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为尺寸夹具,状态栏的最右下角斜线即是,用于拖动改变窗口尺寸
Signals
void | messageChanged(const QString & message) |
——————————————————————————————————————————————————————————————
尺寸夹具,用于改变窗口大小
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;
}