QT学习(三)

首先整理一下编码的方法。对于一个待解决的问题,首先应该将大问题分解成小问题,将小问题划分为小小问题。。。

然后再进行类的抽象,将划分成的问题和类进行对应。然后再对划分的小。。问题进行具体的处理分析,划分出步骤进行接口的处理。最后进行编码。

编码是首先在.h文件中进行类的定义,类中函数的定义,该类中用到的变量的定义;然后再在.c的文件中进行类的具体实现。注意还要将一些宏的定义单独定义在一个头文件中。在构造函数中进行变量的初始化操作,界面初始化函数的调用和信号槽的连接(这里指的是QT这样用)。在析构函数中将系统不会自动释放的对象和资源进行释放。最后进行具体函数的实现。

QT学习(三)

上一章学习了信号槽机制,这一章来进行具体的应用。

创建一个简单的窗口。

test.h文件:

#ifndef TEST_H
#define TEST_H

#include <QtGui/QMainWindow>
#include "ui_test.h"
#include <QLabel>
#include <QPushButton>
#include <QHBoxLayout>

class test : public QMainWindow
{
	Q_OBJECT

public:
	test(QWidget *parent = 0, Qt::WFlags flags = 0);
	~test();
private:
	void initWidget();
	void show();
	QLabel *label;
    QPushButton *pushBtn;
	QWidget *window;
	QHBoxLayout *layout;
};

#endif // TEST_H

test.cpp文件:

#include "test.h"

test::test(QWidget *parent, Qt::WFlags flags)
	: QMainWindow(parent, flags)
{
	label=new QLabel("nihao");
    pushBtn=new QPushButton("ok");
	window=new QWidget();
	layout=new QHBoxLayout();
	connect(pushBtn,SIGNAL(click()),this,SLOT(close()));
	initWidget();
}

test::~test()
{
	
}
void test::initWidget()
{
	window->setWindowTitle("aaaaaaaa");
	layout->addWidget(label);
	layout->addWidget(pushBtn);
	window->setLayout(layout);
}
void test::show()
{
	window->show();
}
main.cpp中:

#include "test.h"
#include <QtGui/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	test w;
	return a.exec();
}
以上的代码实现类一个简单的窗口。

其实所有的窗口都是基于这样一个简单的窗口的拓展,可能会因为功能的需要去继承原有的控件类进行新的开发,进行不一样的布局管理,单不管怎样的去改变,都是基于这样一个消息槽机制和布局方法来实现的,只要勤加练习,敢想敢做就一定会在QT的领域中有一番作为的。

以后全都是一些例子和实现。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春阳CYang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值