zoukankan      html  css  js  c++  java
  • 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();
    }

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

    作者:码农豆豆
    微信公众号:
    出处:http://www.cnblogs.com/fly_binbin/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Android getMeasuredHeight()与getHeight()的区别
    Android控件属性android:visibility的"invisible"与"gone"的区别
    浅谈Android onClick与onLongClick事件触发的问题
    Android ListView中FooterView布局问题
    Android GridView 问题
    Android HTTP POST上传
    监听EditText实时输入
    C++03下的delegate实现-
    delegate委托的C++实现--C++11/14(原创)
    Unity3D 移动平台实现一种大规模(其实跟PC比还是算小规模)动画角色渲染的方案---绝对原创方案。。。
  • 原文地址:https://www.cnblogs.com/fly_binbin/p/1908643.html
Copyright © 2011-2022 走看看