CSDN话题挑战赛第2期
参赛话题:Qt应用程序开发
本文主要介绍了qt中的显示组件。
QT中有七种显示组件,分别是标签QLabel
、文本浏览器QTextBrowser
、绘图视图QGraphicsView
、日历组件QCalendarWidget
、LCD数字显示框QLCDNumber
、进度条QProgressBar
、线条QLine
。
QT显示组件
一、QLabel 标签
1.1. QLabel组件简介
QLabel
是标签类,继承自QFrame
,用于显示文本或图像。
1.2. QLabel组件属性
QLabel组件属性设置选项:
A、
name
:该控件对应源代码中的名称
B、font
:设置text的字体
C、text
:用来设置或返回标签控件中显示的文本信息
1.3. QLabel组件常用成员函数
QLabel::QLabel(QWidget *parent,const char *name = 0,WFlags f = 0)
//构造一个名称为name,父对象为parent和标记为f的TextLabel
QLabel::QLabel(const QString &text,QWidget *parent,const char *name = 0,WFlags f = 0)
//构造一个名称为name,父对象为parent,标记符为f和内容为text的TextLabel
void QLabel::clear()[slot]
//清除标签内容
void QLabel::setText(const QString &)[virtual slot]
//设置标签的文本
QString QLabel::text()const
//返回标签的文本
二、QTextBrowser 文本浏览器
2.1. QTextBrowser组件简介
QTextBrowser
文本浏览器组件继承自QTextEdit
,QTextBrowser
是只读的,不允许对内容进行更改,但还具有链接文本的作用。
2.2. QTextBrowser组件属性
QTextBrowser组件属性设置选项:
A、
name
:同上
B、font
:同上
C、frameShape
:边框样式
D、frameShadow
:边框阴影,Qt Designer提供了plain、raised、sunken
E、lineWidth
:边框线宽
F、text
:显示的文本
G、source
:显示的文件名称,如果没有文件显示或来源,则显示空字符串
2.3. QTextBrowser常用成员函数
QTextBrowser::QTextBrowser(!QWidget *parent = 0,const char *name = 0)
//构造一个名称为name,父对象为parent的TextBrowser
void QTextBrowser::backward()[virtual slot]
// 更改内置导航链接的文件清单为显示当前一个文档,如果没有以前的文档,就什么都不做,可以实现向前翻页的功能
void QTextBrowser::forward()[virtual slot]
//更改内置导航链接的文件清单为显示下一个文档文件,如果没有以前的文档,就什么都不做,可以实现向后翻页的功能
void QTextBrowser::home()[virtual slot]
//更改显示的文件浏览器中的链接,显示第一个文件
void QTextBrowser::linkClicked(const QString &name)[virtual slot]
//当单击链接时,发射该信号
void QTextBrowser::reload()[virtual slot]
//重新载入当前的设置源
void QTextBrowser::setSource(const QString &name)[virtual slot]
//设置当前显示的文件名称为name
QString QTextBrowser::source()const
//返回当前显示的文件的文件名称
三、QGraphicsView 绘图视图
3.1. QGraphicsView组件简介
QGraphicsView
绘图视图组件是用于显示QGraphicsScene
内容的控件,GraphicsView
框架为2D绘图提供一个简单、容易使用、功能强大的解决方案。GraphicsView
框架由三个主要的类组成:QGraphicsItem
、QGraphicsScene
和QGraphicsView
。
其中QGraphicsItem
定义图 元,QGraphicsScene
定义场景,包含所有需要绘制的图元,根据用户的操作改变图元的状态。QGraphicsView
定义观察场景的视窗,可以充当绘图的区域,成为独立的窗体被弹出,或者嵌入其他UI组件中形成符合UI组件。
3.2. QGraphicsView组件属性
QGraphicsView组件属性设置选项:
A、
name
:同上
B、font
:同上
C、frameShape
:边框样式
D、frameShadow
:边框阴影,Qt提供了plain、raise、sunken
E、lineWidth
:边框线宽
3.3. QGraphicsView组件常用成员函数
QGraphicsView::QGraphicsView(QWidget *parent = 0)
//构造一个父对象为parent的GraphicsView
QGraphicsView::QGraphicsView(QGraphicsScene *scene,QWidget *parent = 0)
//构造一个父对象为parent的GraphicsView,填充场景scene到该GraphicsView
void QGraphicsView::centerOn(const QPointF &pos)
//调整视窗的内容,确保点pos在视窗中居中
void QGraphicsView::centerOn(qreal x,qreal y)
//这是一个重载函数,同函数(3),相当于调用center(QPointF(x,y))
void QGraphicsView::centerOn(const QGraphicsItem *item)
//这是一个重载函数,功能同(3),调整视区的内容,使项目item为中心
void QGraphicsView::ensureVisible(const QRectF &rect,int xmargin = 50,int ymargin = 50)
//调整视窗的内容,使视窗rect中的内容是可见的
void QGraphicsView::ensureVisible(qreal x,qreal y,qreal w,qreal h,int xmargin = 50,int ymargin = 50)
//这是一个重载函数,函数功能同(6),相当于调用ensureVisible(QRectF(x,y,w,h),xmargin,ymargin)
void QGraphicsView::ensureVisible(const QGraphicsItem *item,int xmargin = 50,int ymargin = 50)
//这是一个重载函数,功能同(6)调整视窗的内容,使item的内容可见
QGraphicsItem *QGraphicsView::itemAt(const QPoint &pos)const
//返回pos处的item
QGraphicsItem *QGraphicsView::itemAt(int x,int y)const
//这是一个重载函数,功能同(9),返回坐标(x,y)处的item
QList<QGraphicsItem *> QGraphicsView::items()const
//返回相关场景中的所有图元
QList<QGraphicsItem *> QGraphicsView::items(const QPoint &pos)const
//返回视图中位置pos处的项目列表
QGraphicsScene *QGraphicsView::scene()const
//返回当前可视化的场景,如果当前没有可视化的场景,则返回0
void QGraphicsView::setScene(QGraphicsScene *scene)
//设置场景scene为当前可视化场景
void QGraphicsView::updateScene(const QList<QRectF> &rects)[slot]
//更新场景
四、QCalendarWidget 日历
4.1. QCalendarWidget组件简介
QCalendarWidget
日历组件继承自QWidget
,用于提供简易的日历界面,用于选择日期。
4.2. QCalendarWidget组件属性
QCalendarWidget
组件属性设置选项:
A、
name
:同上
B、font
:同上
C、selectdDate
:当前日期
D、minimumDate
:日历控件能够显示的最小日期
E、maxmumDate
:日历控件能够显示的最大日期
F、firstDayOfWeek
:每星期的第一天
G、gridVisible
:是否显示网格
H、dateEditEnable
:是否允许编辑日历
4.3. QCalendar组件常用成员函数
QCalendarWidget::QCalendarWidget(QWidget *parent = 0)
//构造一个父对象为parent的Calendar
int QCalendarWidget::monthShown() const
//但会当前显示的月份
void QCalendarWidget::setCurrentPage(int year,int month)[slot]
//显示给定的年份和月份
void QCalendarWidget::setDateRange(const QDate &min,const QDate &max)[slot]
//设置Calendar的显示范围,最小日期为min,最大日期为max
void QCalendarWidget::showSelectedDate()[slot]
//显示当前选中的日期
void QCalendarWidget::showToday()[slot]
//显示系统当前日期
int QCalendarWidget::yearShown()const
//返回当前显示的年份
4.4. QCalendarWidget实例
#include <QtGui/QApplication>
#include <QCalendarWidget>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QCalendarWidget *calendar = new QCalendarWidget(&w);
calendar->setSelectedDate(QDate(2006, 6, 19));
w.show();
return a.exec();
}
五、QLCDNumber LCD数字显示框
5.1. QLCDNumber组件简介
QLCDNumber
继承自QFrame
,LCD数字显示框可以显示十六进制,十进制,八进制或二进制数。
5.2. QLCDNumber组件属性
QLCDNumber组件属性设置选项
A、
name
:同上
B、font
:设置显示框字体
C、frameShape
:同上
D、frameShadow
:同上
E、lineWidth
:同上
F、mode
:设置显示格式,Qt提供十六进制、十进制、八进制、二进制格式
G、value
:该LCDNumber的值
H、intValue
:该LCDNumber的整数值
I、numDigits
:显示框最大可以显示的数字位数
5.3. QLCDNumber组件常用成员函数
QLCDNumber::QLCDNumber(QWidget *parent = 0,const char *name = 0)
//构造一个名称为name,父对象为parent的LCDNumber
QLCDNumber::QLCDNumber(uint numDigits,QWidget *parent = 0,const char *name = 0)
//构造一个名称为name,父对象为parent和显示框最大可以显示的数字位数为numDigits的LCDNumber、
void QLCDnumber::display(int num)[slot]
//设置显示的值为num
void QLCDNumber::display(const QString &s)[slot]
//重载函数,功能同(3)显示s
void QLCDNumber::display(double num)[slot]
//重载函数,功能同(3),显示num
int QLCDNumber::intValue()const
//返回显示值的整数值,对应intValue属性
int QLCDNumber::numDigits()const
//返回显示框最大可以显示的数字位数,对应numDigits属性
double QLCDNumber::value()const
//返回该LCDNumber显示的值
5.4. QLCDNumber实例
#include <QtGui/QApplication>
#include <QWidget>
#include <QLCDNumber>
#include <QDateTime>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QLCDNumber *lcdnumber = new QLCDNumber(&w);
lcdnumber->setNumDigits(20);
lcdnumber->setSegmentStyle(QLCDNumber::Flat);
lcdnumber->display(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
w.show();
return a.exec();
}
六、QProgressBar 进度条
6.1. QProgressBar组件简介
QProgressBar
进度条组件显示为一个水平进度条,进度条是用来给用户显示操作进度的。
6.2. QProgressBar组件属性
-
QProgressBar组件属性设置选项:
A、
name
:同上
B、font
:同上
C、frameShape
:边框样式
D、frameShadow
:边框阴影
E、lineWidth
:边框线宽
F、progress
:进度条当前的进度值
6.3. QProgressBar组件常用成员函数
QProgressBar::QProgressBar(QWidget *parent = 0,const char *name = 0,WFlags f = 0)
//构造一个名字为name,父对象为parent的ProgressBar
QProgressBar::QProgressBar(int totalSteps,QWidget *parent = 0,const char *name = 0,WFlags f = 0)
//构造一个名称为name,父对象为parent和总的进度值为totalSteps的ProgressBar。
int QProgressBar::progress()cosnt
//返回当前进度条的进度值
void QProgressBar::setProgerss(int progress)[virtual slot]
//设置该进度条的当前进度值为progress
void QProgressBar::reset()[slot]
//把进度条恢复到初始状态
6.4. QProgressBar实例
#include <QtGui/QApplication>
#include <QProgressBar>
#include <QProgressBar>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QProgressBar *progressbar = new QProgressBar(&w);
progressbar->setRange(0, 1000);
progressbar->setValue(100);
w.show();
return a.exec();
}
七、QLine 线条
7.1. QLine组件简介
QLine
表示平面上整数精度的二维向量,用于描述有限长度的直线也就是线段,起点与终点只具有整数精度。
7.2. QLine组件属性
QLine组件属性设置选项:
A、
name
:同上
B、frameShadow
:plain、raised、sunken
C、lineWidth
:线条线宽
D、orientation
:线条布局方向