CSDN话题挑战赛第2期
参赛话题:Qt应用程序开发
本文主要介绍了qt中的显示组件。
QT中有七种显示组件,分别是标签QLabel
、文本浏览器QTextBrowser
、绘图视图QGraphicsView
、日历组件QCalendarWidget
、LCD数字显示框QLCDNumber
、进度条QProgressBar
、线条QLine
。
QLabel
是标签类,继承自QFrame
,用于显示文本或图像。
QLabel组件属性设置选项:
A、
name
:该控件对应源代码中的名称
B、font
:设置text的字体
C、text
:用来设置或返回标签控件中显示的文本信息
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
文本浏览器组件继承自QTextEdit
,QTextBrowser
是只读的,不允许对内容进行更改,但还具有链接文本的作用。
QTextBrowser组件属性设置选项:
A、
name
:同上
B、font
:同上
C、frameShape
:边框样式
D、frameShadow
:边框阴影,Qt Designer提供了plain、raised、sunken
E、lineWidth
:边框线宽
F、text
:显示的文本
G、source
:显示的文件名称,如果没有文件显示或来源,则显示空字符串
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
绘图视图组件是用于显示QGraphicsScene
内容的控件,GraphicsView
框架为2D绘图提供一个简单、容易使用、功能强大的解决方案。GraphicsView
框架由三个主要的类组成:QGraphicsItem
、QGraphicsScene
和QGraphicsView
。
其中QGraphicsItem
定义图 元,QGraphicsScene
定义场景,包含所有需要绘制的图元,根据用户的操作改变图元的状态。QGraphicsView
定义观察场景的视窗,可以充当绘图的区域,成为独立的窗体被弹出,或者嵌入其他UI组件中形成符合UI组件。
QGraphicsView组件属性设置选项:
A、
name
:同上
B、font
:同上
C、frameShape
:边框样式
D、frameShadow
:边框阴影,Qt提供了plain、raise、sunken
E、lineWidth
:边框线宽
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
//返回相关场景中的所有图元
QList
//返回视图中位置pos处的项目列表
QGraphicsScene *QGraphicsView::scene()const
//返回当前可视化的场景,如果当前没有可视化的场景,则返回0
void QGraphicsView::setScene(QGraphicsScene *scene)
//设置场景scene为当前可视化场景
void QGraphicsView::updateScene(const QList
//更新场景
QCalendarWidget
日历组件继承自QWidget
,用于提供简易的日历界面,用于选择日期。
QCalendarWidget
组件属性设置选项:
A、
name
:同上
B、font
:同上
C、selectdDate
:当前日期
D、minimumDate
:日历控件能够显示的最小日期
E、maxmumDate
:日历控件能够显示的最大日期
F、firstDayOfWeek
:每星期的第一天
G、gridVisible
:是否显示网格
H、dateEditEnable
:是否允许编辑日历
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
//返回当前显示的年份
#include
#include
#include
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
继承自QFrame
,LCD数字显示框可以显示十六进制,十进制,八进制或二进制数。
QLCDNumber组件属性设置选项
A、
name
:同上
B、font
:设置显示框字体
C、frameShape
:同上
D、frameShadow
:同上
E、lineWidth
:同上
F、mode
:设置显示格式,Qt提供十六进制、十进制、八进制、二进制格式
G、value
:该LCDNumber的值
H、intValue
:该LCDNumber的整数值
I、numDigits
:显示框最大可以显示的数字位数
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显示的值
#include
#include
#include
#include
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
进度条组件显示为一个水平进度条,进度条是用来给用户显示操作进度的。
QProgressBar组件属性设置选项:
A、
name
:同上
B、font
:同上
C、frameShape
:边框样式
D、frameShadow
:边框阴影
E、lineWidth
:边框线宽
F、progress
:进度条当前的进度值
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]
//把进度条恢复到初始状态
#include
#include
#include
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
表示平面上整数精度的二维向量,用于描述有限长度的直线也就是线段,起点与终点只具有整数精度。
QLine组件属性设置选项:
A、
name
:同上
B、frameShadow
:plain、raised、sunken
C、lineWidth
:线条线宽
D、orientation
:线条布局方向