本文主要涉及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为尺寸夹具,状态栏的最右下角斜线即是,用于拖动改变窗口尺寸
Public Slots
void | clearMessage() |
void | showMessage(const QString & message, int timeout = 0)//在状态栏最左端显示message,timeout毫秒后文字消失 |
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; }
作者:江南烟雨居
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。