学习笔记之qt4程序中引入自定义窗口部件之单一继承方式
2016-12-06 20:00
597 查看
1、用qt creator创建一个名为singleinherit的empty qt project工程并把这个工程存放在一个名为findfile的文件夹中(用qt designer创建的findfileform.ui文件也存放在这个文件夹中)。
2、右击该工程将已有的findfileform.ui文件添加到该工程中。
3、在该工程中添加文件findfileform.cpp,findfileform.h,singleinherit.cpp,代码如下:
findfileform.h
#ifndef FINDFILEFORM_H
#define FINDFILEFORM_H
#include"ui_findfileform.h"
class CFindFileForm:public QWidget
{
Q_OBJECT
public:
CFindFileForm(QWidget *parent=0);
private:
Ui_FindFileForm ui;
};
#endif // FINDFILEFORM_H
注:类Ui_FindFileForm是由uic工具根据findfileform.ui文件创建的,它的功能是在构造函数中初始化、加载、管理GUI用户界面。
findfileform.cpp
#include<QtGui>
#include"findfileform.h"
CFindFileForm::CFindFileForm(QWidget *parent)
:QWidget(parent)
{
//对qt disigner绘制的GUI用户界面进行初始化和加载
ui.setupUi(this);
//对用户界面中的一些窗口部件的状态进行初始化
ui.statusLabel->setText(tr("就绪"));
ui.resultLabel->setText(tr("找到0个文件"));
ui.nameComboBox->setEditText("*");
ui.dirComboBox->setEditText(QDir::currentPath());
ui.dirComboBox->addItem(QDir::currentPath());
ui.sensitiveCheckBox->setEnabled(false);
ui.stopPushButton->setEnabled(false);
}
代码解析:
1、静态函数QDir::currentPath()返回应用程序所在目录的绝对路径;
2、 QCheckBox::setEnabled(false)设置“区分大小写”复选框的初始状态为不可用;
3、QPushButton::setEnabled(false)设置“停止查找”按钮为不可用的;
4、单一继承方式通过成员ui来引用qt disigner中部署的窗口部件;
单一继承方式将qt disigner绘制的GUI用户界面对象包含在自定义类中,作为一个私有成员来使用。这种方式的优点是,应用程序能后控制用户界面的外观和显示方式,并能够与用户进行交互;
此外,还可以使用同样的一个ui文件来生成多个不同的自定义界面类,可以重复使用qt disigner绘制的GUI用户界面。
singleinherit.cpp
2、右击该工程将已有的findfileform.ui文件添加到该工程中。
3、在该工程中添加文件findfileform.cpp,findfileform.h,singleinherit.cpp,代码如下:
findfileform.h
#ifndef FINDFILEFORM_H
#define FINDFILEFORM_H
#include"ui_findfileform.h"
class CFindFileForm:public QWidget
{
Q_OBJECT
public:
CFindFileForm(QWidget *parent=0);
private:
Ui_FindFileForm ui;
};
#endif // FINDFILEFORM_H
注:类Ui_FindFileForm是由uic工具根据findfileform.ui文件创建的,它的功能是在构造函数中初始化、加载、管理GUI用户界面。
findfileform.cpp
#include<QtGui>
#include"findfileform.h"
CFindFileForm::CFindFileForm(QWidget *parent)
:QWidget(parent)
{
//对qt disigner绘制的GUI用户界面进行初始化和加载
ui.setupUi(this);
//对用户界面中的一些窗口部件的状态进行初始化
ui.statusLabel->setText(tr("就绪"));
ui.resultLabel->setText(tr("找到0个文件"));
ui.nameComboBox->setEditText("*");
ui.dirComboBox->setEditText(QDir::currentPath());
ui.dirComboBox->addItem(QDir::currentPath());
ui.sensitiveCheckBox->setEnabled(false);
ui.stopPushButton->setEnabled(false);
}
代码解析:
1、静态函数QDir::currentPath()返回应用程序所在目录的绝对路径;
2、 QCheckBox::setEnabled(false)设置“区分大小写”复选框的初始状态为不可用;
3、QPushButton::setEnabled(false)设置“停止查找”按钮为不可用的;
4、单一继承方式通过成员ui来引用qt disigner中部署的窗口部件;
单一继承方式将qt disigner绘制的GUI用户界面对象包含在自定义类中,作为一个私有成员来使用。这种方式的优点是,应用程序能后控制用户界面的外观和显示方式,并能够与用户进行交互;
此外,还可以使用同样的一个ui文件来生成多个不同的自定义界面类,可以重复使用qt disigner绘制的GUI用户界面。
singleinherit.cpp
#include<QtGui/QApplication>
#include<QtCore/QTextCodec>
#include"findfileform.h"
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312"));
Q_INIT_RESOURCE(findfile);
CFindFileForm form;
form.show();
return app.exec();
}
相关文章推荐
- 学习笔记之qt4程序中引入自定义窗口部件之多继承方式
- 学习笔记之qt4程序中引入自定义窗口部件之直接使用方式
- QT程序中引入designer自定义窗口部件
- STL学习笔记 ---- 由set的声明所引发的自定义比较的实现方式
- ASP.NET 3.5核心编程学习笔记(55):自定义扩展程序控件的创建
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 1 (消息的使用和入口代码)
- appwidget 窗口小部件学习笔记
- ((ios开发学习笔记 十二))Nib加载的方式实现自定义TableView
- 【学习笔记】零基础C#窗口程序开发入门
- Android开发入门之学习笔记(三):程序窗口的布局
- C++类单一继承学习笔记
- MFC学习笔记之三————区分窗口类对象以及窗口&&四种获得DC方式绘图
- QT创建自定义窗口部件笔记
- 学习WF笔记9-自定义活动的验证方式(4)
- javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
- iPhone开发学习笔记004——自定义背景透明非全屏弹出窗口,子类化UIWindow
- C++ primer第二次阅读学习笔记(第17章:用于大型程序的工具:多重继承与虚继承) .
- 黑马程序员--Java学习笔记之多线程(自定义线程的两种方式对比、线程状态、线程安全)
- C++学习笔记_2:单一继承时的构造函数与析构函数
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 (windows的消息机制)