Qt自定义窗口部件.docx

Qt自定义窗口部件.docx

ID:55089415

大小:153.08 KB

页数:14页

时间:2020-04-27

Qt自定义窗口部件.docx_第1页
Qt自定义窗口部件.docx_第2页
Qt自定义窗口部件.docx_第3页
Qt自定义窗口部件.docx_第4页
Qt自定义窗口部件.docx_第5页
资源描述:

《Qt自定义窗口部件.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、【原创】Qt自定义窗口部件QtDesigner自定义窗口部件有两种方法:改进法(promotion)和插件法(plugin)改进法1、改进法之前,要先写好子类化QSpinBox后的HexspinBox.h和HexspinBox.cpp文件。把这两个文件拷贝到想要的项目中。HexspinBox.hCpp代码  1.#ifndef HEXSPINBOX_H  2.#define HEXSPINBOX_H  3.#include   4.class QRegExpValidator;  5.class HexSpinBox : public QSpinBox  6

2、.{  7.    Q_OBJECT  8.  9.public:  10.    HexSpinBox(QWidget *parent = 0);  11.  12.protected:  13.    QValidator::State validate(QString &text, int &pos) const;  14.    int valueFromText(const QString &text) const;  15.    QString textFromValue(int value) const;  16.  17.private:  18.    QR

3、egExpValidator *validator;  19.};  20.  21.#endif   HexspinBox.cppCpp代码  1.#include   2.#include "hexspinbox.h"  3.HexSpinBox::HexSpinBox(QWidget *parent)  4.    : QSpinBox(parent)  5.{  1.    setRange(0, 255);  2.    validator = new QRegExpValidator(QRegExp("[0-9A-Fa-f]{1,8}"), this)

4、;  3.}  4.  5.QValidator::State HexSpinBox::validate(QString &text, int &pos) const  6.{  7.    return validator->validate(text, pos);  8.}  9.  10.int HexSpinBox::valueFromText(const QString &text) const  11.{  12.    bool ok;  13.    return text.toInt(&ok, 16);  14.}  15.  16.QString HexSp

5、inBox::textFromValue(int value) const  17.{  18.    return QString::number(value, 16).toUpper();  19.}   2、在需要开发的项目中的窗口中,1、用QtDesigner创建一个新的窗体main.ui,把控件箱里的QSpinBox添加到窗体中。2、右击微调框,选择“Promoteto”上下文菜单。3、在弹出的对话框中,类名处填写“HexSpinBox”,头文件填写“hexspinbox.h”好了。在ui生成的包含有QSpinBox的控件文件中,ui的源代码里面多了一段

6、widgets>   HSpinBox  QSpinBox  

hspinbox.h
 包含文件变为"hexspinbox.h"。在QtDesigner中,QSpinBox表示的控件为HexSpinBox,并且可以设置所有的QSpinBox的属性。可以在VS2008中编译一下main.ui文件,从ui_main.h源代码中可以知道,引入的控件是:Cpp代码  1.#include   

7、2.#include   3.#include   4.#include "hspinbox.h"  5.  6.QT_BEGIN_NAMESPACE  7.  8.class Ui_QMainClass  9.{  10.public:  11.    QWidget *centralWidget;  12.    QPushButton *pushButton;  13.    QTableWidget *tableWidge

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。