QT C++ 学习

经过一段时间对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();
}

 

刚开始写的时候,特别的不习惯,不知道什么叫信号与槽,后来经过向小程学习,逐渐明白了,并且能顺利使用了,下一节把那个例子发上来,因为回家的时候忘记带了,因此把这个做为开始内容了。

 

posted @ 2010-12-16 22:38  老码农豆豆  阅读(4273)  评论(0编辑  收藏  举报