QT学习笔记之五 HexSpinBox
2009-04-28 22:57
423 查看
这个程序主要为了,练习自定义Qt窗体部件,HexSpinBox实现了一个16进制的SpinBox,所以只要重载SpinBox就可以了...详见代码
==================================================================
hexspinbox.h
hexspinbox.cpp
main.cpp
=================================================================
PS:庆祝空间人气突破25000
==================================================================
hexspinbox.h
#ifndef HEXSPINBOX_H #define HEXSPINBOX_H #include <QtGui/QWidget> #include <QSpinBox> namespace Ui { class HexSpinBoxClass; } class HexSpinBox : public QSpinBox //继承QSpinBox 控件 { Q_OBJECT public: HexSpinBox(QWidget *parent = 0); ~HexSpinBox(); protected: QValidator::State validate(QString &text,int &pos) const; int valueFromText(const QString &text) const; //virtual函数必须重载 QString textFromValue(int value) const; //virtual函数必须重载 private: Ui::HexSpinBoxClass *ui; QRegExpValidator *validator; }; #endif // HEXSPINBOX_H
hexspinbox.cpp
#include "hexspinbox.h" #include "ui_hexspinbox.h" HexSpinBox::HexSpinBox(QWidget *parent) :QSpinBox(parent) { ui->setupUi(this); setRange(0,255); validator=new QRegExpValidator(QRegExp("[0-9A-Fa-f]{1,8}"),this); } HexSpinBox::~HexSpinBox() { delete ui; } /*检查用户输入的合法性*/ QValidator::State HexSpinBox::validate(QString &text,int &pos) const { return validator->validate(text,pos); } /*整型值转换为16进制的字符串*/ QString HexSpinBox::textFromValue(int value) const { return QString::number(value,16).toUpper(); } /*字符串到整数值,若字符串合法ok返回true,否则返回false*/ int HexSpinBox::valueFromText(const QString &text) const { bool ok; return text.toInt(&ok,16); }
main.cpp
#include <QtGui/QApplication> #include "hexspinbox.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); HexSpinBox *hexSpinBox=new HexSpinBox; hexSpinBox->sizeHint(); hexSpinBox->show(); return app.exec(); }
=================================================================
PS:庆祝空间人气突破25000
相关文章推荐
- QT学习笔记11常用控件
- QT学习笔记1---布局管理器
- QT学习笔记----Pushbutton,label控件应用
- QT学习笔记----窗口的相互切换
- Qt学习笔记3:Qt工程的目录结构
- Qt Model/View 学习笔记 (三)
- Qt中字符串转换十六进制学习笔记
- Windows环境下QT学习笔记01:QT及QT Creator的下载及安装
- 嵌入式Qt开发环境搭建及移植到开发板----Qt学习笔记
- Qt学习笔记之GUI基本知识
- C++学习笔记之QT/MFC生成二维码
- QT学习笔记- eclipse集成的designer
- Qt Model/View 学习笔记 (二)
- 【Oencv2计算机视觉学习笔记(一)】QT5.3.1 与 OpenCV2.4.9 环境搭建
- 【Oencv2计算机视觉学习笔记(二)】使用Qt创建GUI应用
- 【Qt学习笔记】Qt+VS2010的配置
- Qt Model/View 学习笔记 (三)
- PyQt学习笔记01-Qt基本概念进阶篇
- QT学习笔记之十二 ListViewer
- Qt Model/View 学习笔记 (五)