QT C++ 學習

來源:互聯網
上載者:User

經過一段時間對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();
}

 

剛開始寫的時候,特別的不習慣,不知道什麼叫訊號與槽,後來經過向小程學習,逐漸明白了,並且能順利使用了,下一節把那個例子發上來,因為回家的時候忘記帶了,因此把這個做為開始內容了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.