Qt 开始学习

以往一直使用VS C++作为开发工具,现在为了适应跨平台的需求,开始学着使用Qt工具来进行开发.

为了将学习的过程记录下来,同时将一些学习的心得和大家进行探讨,并交一些开发同行的朋友,我决定在这里开始写微博.

希望大家多多指教.

这里会有我自己的代码,也会汇集网上搜罗的例子和文章.

 

下面是第一个hello程序,来自baidu的"积土成山,积水成渊"的文章

 

QT入门:QT的工程的构架&第一个QT程序

最近在做个QT的小项目,作为C++初学者,一直用java的鄙人,表示压力很大.搜索论坛和各种书籍,却发现大家都在讨论高深的技术,这对我们这些菜鸟来说可是苦了,故写几篇博客,以为和我一样的初学者提供借鉴..

 

本章介绍QT工程的构架.Qt和java不是很一样,把类和方法完全的拆开了,不愧是C++的扩展.所以对java程序员应该做好改正自己思想的准备.

首先我们来看QtCreater的图:

1.其中Forms是存放ui文件,这个类似C#的GUI设计,暂时不谈

2.这个是头文件的所在文件夹,也就是存放各种类的地方,

3..cpp文件夹,大部分的代码都在这里写(当然,很多方法,对象要在.h文件夹里声明),作为C++的扩展,QT同样必须先声明后使用,无论在类中还是在方法中.



实例(Hello World)如下:

1.新建工程,选择Create Project 然后是选择QT GUI application 然后自己命名工程,然后选择Widget;然后一路next;

我们的项目使用的是Widget,读者可以根据需要自己选择,他们直接的不同请谷歌.

 2.在.h文件中声明一个label,注意之前先#include 相关类

#ifndefWIDGET_H 

#defineWIDGET_H

#include<QWidget>

#include"QLabel"//必须包含label文件

namespaceUi{

classWidget;}

classWidget:

publicQWidget

{Q_OBJECT

public:

explicit Widget(QWidget*parent=0);

~Widget();

private:

Ui::Widget*ui;

QLabel*label;};//声明label变量

#endif//WIDGET_H


3.当然,你也可以在工程中声明label

#include "widget.h"

#include "ui_widget.h"

Widget::Widget(QWidget *parent) :

    QWidget(parent),

    ui(new Ui::Widget)

{

     label = new QLabel(tr("Hello World"), this);//实现label

     label->move(0, 100);//设置label的坐标

     QLabel *label2 = new QLabel(tr("QT项目Demo"), this); //也可以在.方法中声明对象

     label2->move(100, 100);//设置label2的坐标

    ui->setupUi(this);

}

Widget::~Widget()

{

    delete ui;

}

4.还有是关于main.cpp中:

6.如图

#include <QtGui/QApplication>

#include "widget.h"

#include <QtCore/QTextCodec>//注意包括头文件!

 

int main(int argc, char *argv[])

{

    QApplication a(argc, argv);

    QTextCodec::setCodecForTr(QTextCodec::codecForName("gb2312"));//防止程序出现乱码

    Widget w;

    w.show();

 

    return a.exec();

}

最后我们的Demo就ok了
然后在废话几句,①装有vc的用户注意,如果hello程序都运行不起来,甚至新建项目都不能运行,那么你要考虑一下看看你电脑的环境变量了,具体本人忘了谷歌②如若出现*******exit ****1一行错误,不能run则是你的前一个工程还在内存,如若在任务栏看不到,去任务管理器找相关进程kill③QtCreater始终不如Ecplise,有些错误不好找,希望大家有耐心,程序员当然必须有耐心



 

 

 

 

 

 

 

 

 


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值