Qt模块化笔记之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;
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值