经过一段时间对Adnroid的学习,基本掌握和了解了,现在又得要学习QT了,这是一个跨平台的开发工具,是NoKIA推出的,做为NOKIA开发平台的工具,使用的是C++语言在开发,以后要做移动开发的话,肯定不能光是Android了,所以个人感觉这个工具还是要学习一下的,今天就开始学习了,目前是以Android开发工具的学习和使用为主,这个为辅进行的学习,顺便也复习一下C++,虽说以前的时候也用过C++,可是好长时间不使用了,忘记了不少了,今天使用QT写了第一个测试小程序,下面把主要的代码发上来,让大家学习一个,其实就是一个简单的类。是看了一下书,然后自己边想边写的。
实例如下:
代码-头文件
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include "QWidget"
#include "QPushButton"
#include "QLCDNumber"
#include "QSplitter"
#include <QSlider>
class MyWidget :public QWidget
{
public:
MyWidget(QWidget *parent = 0);
~MyWidget();
private:
QPushButton *button;
QLCDNumber *lcdnumber;
QSplitter *splitter;
QSlider *slider;
};
#endif // MYWIDGET_H
代码-类的实现
#include "mywidget.h"
#include <QPushButton>
#include <QTextCodec>
#include <QFont>
MyWidget::MyWidget(QWidget *parent):QWidget(parent)
{
setMinimumSize(200,120);
setMaximumSize(400,240);
QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));
button = new QPushButton(tr("退出(&Q)"),this);
QFont font("Times",12,QFont::Normal,FALSE);
button->setGeometry(0,0,75,30);
button->setFont(font);
lcdnumber = new QLCDNumber(4,this);
lcdnumber->setGeometry(60,60,50,30);
lcdnumber->setFont(QFont("宋体",18,QFont::Bold,false));
//使用调色板
QPalette lcdp = lcdnumber->palette();
lcdp.setColor(QPalette::Normal,QPalette::WindowText,Qt::green);
lcdnumber->setPalette(lcdp);
lcdnumber->display(1203);
slider = new QSlider(Qt::Horizontal,this);
slider->setRange(10,200);
slider->setGeometry(10,40,100,10);
connect(slider,SIGNAL(valueChanged(int)),lcdnumber,SLOT(display(int)));
setWindowTitle(tr("第一个程序"));
connect(button,SIGNAL(clicked()),this,SLOT(close()) );
}
MyWidget::~MyWidget()
{
delete(button);
delete(slider);
delete(lcdnumber);
}
代码-类的调用
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
#include <mywidget.h>
int main(int argc,char **argv)
{
QApplication a(argc,argv);
MyWidget *mw =new MyWidget;
mw->setGeometry(500,500,200,120);
mw->show();
return a.exec();
}
刚开始写的时候,特别的不习惯,不知道什么叫信号与槽,后来经过向小程学习,逐渐明白了,并且能顺利使用了,下一节把那个例子发上来,因为回家的时候忘记带了,因此把这个做为开始内容了。