QT学习之路--菜单、工具条、状态栏

  下面一些是 Menu Bar,用于显示菜单;再下面一点事 Toolbar areas,用于显示工具条,Status Bar,就是状态栏。

  Qt 提供了一个 QStatusBar 类来实现状态栏。

Qt 里面也有一个类似的类,叫做 QAction

QAction 能够根据添加的位置来改变自己的样子 ——如果添加到菜单中,就会显示成一个菜单项;如果添加到工具条,就会显示成一个按钮。

Qt提供的颜色选择对话框:QColorDialog。

QColor color = QColorDialog::getColor(Qt::white,this);
    QString msg = QString("r: %1,g: %2,b: %3").arg(QString::number(color.red()),QString::number(color.green()),QString::number(color.blue()));
    QMessageBox::information(NULL,"Selected color",msg);

  QString("r: %1, g: %2, b: %3")创建了一个 QString 对象。我们使用了参数化字符串,也就是那些%1 之类。

其实这都是一些占位符,也就是,后面会用别的字符串替换掉这些值。占位符的替换需要使用 QString 的 arg()函数。

这个函数会返回它的调用者,因此可以使用链式调用写法。它会按照顺序替换掉占位符。

QString::number()函数,作用就是把 int、double 等值换成 QString 类型。这里是把 QColor 的 R、G、B 三个值输出了出来。

QMessageBox

QMessageBox::information(NULL,"Title","Content",QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);

现在我们从 API 中看看它的函数签名:
static StandardButton QMessageBox::information(QWidget *parent,const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton );

第一个参数 parent,说明它的父组件;第二个参数 title,也就是对话框的标题;第三个参数 text,是对话框显示的内容;第四个参数 buttons,声明对话框放置的按钮,默认是只放置一个OK 按钮,这个参数可以使用或运算,例如我们希望有一个 Yes 和一个 No 的按钮,可以使用QMessageBox::Yes | QMessageBox::No,所有的按钮类型可以在 QMessageBox 声明的 StandarButton枚举中找到;第五个参数 defaultButton 就是默认选中的按钮,默认值是NoButton,也就是哪个按钮都不选中。

QInputDialog 用于接收用户的输入。

static QString QInputDialog::getText(QWidget ×parent,const QString & title,const QString & label,QLineEdit::EchoMode mode = QLineEdit::Normal,const QString & text = QString(),bool *ok = 0,Qt::WindowFlags flags = 0 )

时间: 2024-07-29 07:00:34

QT学习之路--菜单、工具条、状态栏的相关文章

QT学习之路--创建一个对话框

Q_OBJECT:这是一个宏,凡是定义信号槽的类都必须声明这个宏. 函数tr()全名是QObject::tr(),被他处理过的字符串可以使用工具提取出来翻译成其他语言,也就是做国际化使用. 对于QT学习之路:Qt学习之路(7):创建一个对话框(上)这个程序.编译出现 invalid use of incomplete type ‘class QPushButton’ findButton->setEnabled(!text.isEmpty()); ^ In file included from

Qt 学习之路 2 --- 读书笔记

一.文章来由 来自豆子老师非常好的一本Qt教程,但是只有网络版,所以用这个做笔记了,不动笔墨不读书嘛~~ 二.读书笔记 1.Qt 学习之路 2(2):Qt 简介 1.1 关于 Qt 的一站式解决 Qt 是一个著名的 C++ 应用程序框架.但并不只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个"一站式"的解决方案:不再需要研究 STL,不再需要 C++ 的,不再需要到处去找解析 XML.连接数据库.访问网络的各种第三方库,因为

Qt学习之路

  Qt学习之路_14(简易音乐播放器) Qt学习之路_13(简易俄罗斯方块) Qt学习之路_12(简易数据管理系统) Qt学习之路_11(简易多文档编辑器) Qt学习之路_10(Qt中statusBar,MessageBox和Timer的简单处理) Qt学习之路_9(Qt中Item Widget初步探索) Qt学习之路_8(Qt中与文件目录相关操作) Qt学习之路_7(线性布局和网格布局初步探索) Qt学习之路_6(Qt局域网聊天软件) Qt学习之路_5(Qt TCP的初步使用) Qt学习之路

QT学习之路(1):彩票绝对不中模拟器

//============================================//绝对不中,彩票开奖模拟器#include "mainwindow.h"#include "ui_mainwindow.h"#include <QHash>#include <QDebug>MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::M

2014年8月24日 菜单 工具条 右键菜单(上下文菜单)

今天说说菜单 工具条 右键菜单吧,总的来说这些东西其实就是同一个东西.以前我们在做插件的时候遇到右键菜单啊,菜单什么的都会习惯性地去用actionSets这个拓展点.不过现在官方却把这个扩展点已经被deprecated弃用了..官方的说明: Do not use this extension point, it will be removed in future versions of this product. Instead, use the extension point org.ecli

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

在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一些细节问题,比如资源文件的使用.对象模型以及布局管理器.这一节则是详细介绍关于菜单栏.工具栏以及状态栏的相关内容. 我们假设窗口还是建立在QMainWindow类之上,这会让我们的开发简单许多.当然,在实际开发过程中,QMainWindow通常只作为“主窗口”,对话框窗口则更多地使用QDialog类.我们会在

QT学习之路---信号槽

#include<QApplication> #include<QPushButton> int main(int argc,char *argv[]) { QApplication a(argc,argv); QPushButton *button = new QPushButton("Quit"); QObject::connect(button,SIGNAL(clicked()),&a,SLOT(quit())); button->show(

Qt 学习之路:QSortFilterProxyModel

从本章开始,我们将逐步了解有关自定义模型的相关内容.尽管前面我们曾经介绍过 Qt 提供的几个内置模型:QStringListModel和QFileSystemModel,但对于千变万化的需求而言,这些显然是远远不够的.于是,Qt 也允许我们对模型进行自定义. 在正式开始介绍自定义模形之前,我们先来了解一个新的类:QSortFilterProxyModel.之所以将这个类放在这里,是因为在一定程序上,我们可以使用QSortFilterProxyModel获得一些可能必须自定义才能达到的效果.QSo

Qt 学习之路 :Qt Quick Controls

自 QML 第一次发布已经过去一年多的时间,但在企业应用领域,QML 一直没有能够占据一定地位.很大一部分原因是,QML 缺少一些在企业应用中亟需的组件,比如按钮.菜单等.虽然移动领域,这些组件已经变得可有可无,但在桌面系统中依然不可或缺.为了解决这一问题,Qt 5.1 发布了 Qt Quick 的一个全新模块:Qt Quick Controls.顾名思义,这个模块提供了大量类似 Qt Widgets 模块那样可重用的组件.本章我们将介绍 Qt Quick Controls,你会发现这个模块与