本文主要涉及QSizeGrip ,QStatusBar ,QToolBar

QToolBar

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

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

QToolBar(const QString & title, QWidget * parent = )
QToolBar(QWidget * parent = )
~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 = )
virtual ~QStatusBar()
void addPermanentWidget(QWidget * widget, int stretch = )//添加永久性部件,永久意味着它不能被临时消息(showMessage函数)掩盖,位于最右端,stretch伸缩性为0 表示给小部件最小的空间
void addWidget(QWidget * widget, int stretch = )//位于最左端,当调用showMessage函数时,消息文字将与此函数添加的部件上文字重合
QString currentMessage() const
int insertPermanentWidget(int index, QWidget * widget, int stretch = )
int insertWidget(int index, QWidget * widget, int stretch = )
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",); QSizeGrip *grip =new QSizeGrip(ui->pushButton);
grip->setVisible(true);//不设置这个见不到它……
} MainWindow::~MainWindow()
{
delete ui;
}

Qt Widgets——工具栏和状态栏的更多相关文章

  1. Qt 学习之路 :菜单栏、工具栏和状态栏

    在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一 ...

  2. Qt 学习之路 2(12):菜单栏、工具栏和状态栏

    Home / Qt 学习之路 2 / Qt 学习之路 2(12):菜单栏.工具栏和状态栏 Qt 学习之路 2(12):菜单栏.工具栏和状态栏  豆子  2012年9月10日  Qt 学习之路 2  2 ...

  3. 【Qt开发】菜单栏,工具栏和状态栏

    概述 菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Desig ...

  4. 三、PyQt5不同方法创建菜单栏、工具栏和状态栏

    创建菜单栏.工具栏和状态栏可以直接通过代码实现,也可以通过Qt Designer中的属性编辑器等实现.通过两种方法的学习可以加深理解,更好的掌握PyQt5. 一.菜单栏与状态栏 状态栏的设置比较简单, ...

  5. QT5中的pro文件中为何要加入"QT += widgets"

    在pro文件里写"QT+=widgets"表示引入QtWidget这个module,qmake在生成makefile的时候,会设置好include path 和 lib path, ...

  6. 【QT相关】Qt Widgets Module

    Qt Widgets Module:提供了一些列UI元素. 使用: //头文件包含 #include <QtWidgets> //链接模式,在.pro文件中添加行: QT += widge ...

  7. Qt4项目迁移到Qt5问题:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets .

    文章来源:http://blog.csdn.net/ccf19881030/article/details/18220447 问题一:错误:C1083: 无法打开包括文件:"QApplica ...

  8. Qt Widgets、QML、Qt Quick的区别

    Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...

  9. 【Qt官方例程学习笔记】Getting Started Programming with Qt Widgets

    创建一个QApplication对象,用于管理应用程序资源,它对于任何使用了Qt Widgets的程序都必要的.对于没有使用Qt Widgets 的GUI应用,可以使用QGuiApplication代 ...

随机推荐

  1. 【Selenium2】【问题】

    [iframe 和 HTML 相互嵌套] 比如126登录页,我的几个方法都不好用 1. iframeFather = driver.find_element(By.XPATH,"//div[ ...

  2. SpringBoot学习路线

    网上也有很多github资源,都是自己学习Spring Boot时候,自己练的代码 虽然现在最新的版本用2.1.3.RELEASE版本,以前版本的demo运行可能会遇到错误.但是有总比没有要好,不是么 ...

  3. CentOS6.5下安装配置MySQL数据库

    一.MySQL简介 说到数据库,我们大多想到的是关系型数据库,比如MySQL.Oracle.SQLServer等等,这些数据库软件在Windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  4. phpredis基本操作

    字符串,用于存储变动少的信息 创建对象 $red = Red::create(); 设置值 $red->set('name','张三'); 设置有效期 $red->set('name',' ...

  5. 创建SpringBoot项目pom.xml文件第一行报错:Non-parseable POM E:\maven\repository\org\springframework\securit

    在编辑pom.xml时,第一行有个刺眼红色×,然后在Problems看到这个问题 [ERROR] The build could not read 1 project -> [Help 1]E: ...

  6. 学习笔记17—circos安装集(window环境)

    Windows7环境下Circos使用教程 一.下载安装软件包 1.strawberry perl 因为Circos软件是依赖perl语言编译环境的,但是windows环境下默认是没有perl的,所以 ...

  7. Python 新建程序

    1.建立一个新的文件夹 2.建一个包 3.建一个程序项目 4.默认模板配置

  8. 目前用到的一些os.path方法

    这里主要记录下os.path.join()的用法 目录结构如下 在readconfig.py中进行试验,如下 1.使用os.path.realpath(__file__)获取文件所在目录 import ...

  9. validateRequest 相关的作用

    在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的.跨站点脚本攻击就是此类攻击的一个示例.其他类型的恶意数据或不需 要的数据可以通过各种形式的输入在请求中传入 ...

  10. 使用VueCLI的User Interface Tool(GUI)创建app的图文讲解

    (英文原文) 需要安VueCLI3和nodejs. 在terminal输入vue可以看到命令列表: 其中vue ui [options] 就是用于开始和打开vue-cli ui的命令. 使用http: ...