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