[QT]第一个QT程序

今天第一天入QT坑。Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP

今天主要是做了一个在lineedit输入一个数字,我把里面的内容转换成园的面积这么一个程序。废话不多说直接上程序:

#ifndef MAINWINDOW_H

#define MAINWINDOW_H
#include <QMainWindow>
#include <QLabel>   //包含label的头文件
#include <QLineEdit> //包含lineEdit
#include <QPushbutton>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QLabel *label1,*label2;
    QLineEdit *linedit;
    QPushButton *button;
private slots:
    void showArea();
};

#endif // MAINWINDOW_H
首先是MAINWINDOW头文件,这个是一个类,用来存储我所有的对象,比如我有Button,linedit,label这类控件。大概就这样,然后showArea()是我定义的一个函数,是用来计算圆面积的这么一个函数,到后面你会发现我把他用来跟按键的控件联系起来了。

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QGridLayout>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    label1=new QLabel(this);
    label1->setText(tr("请输入圆的半径 :"));
    linedit=new QLineEdit(this);
    label2=new QLabel(this);
    button=new QPushButton(this);
    button->setText(tr("show the area"));
    label1->setGeometry(10,10,100,40);
    label1->clearMask();
    label2->setGeometry(10,90,100,20);
    label2->clearMask();
    button->setGeometry(10,50,100,20); //设置button的位置和大小
    button->clearMask();
    linedit->setGeometry(120,10,100,30);

    connect(button,SIGNAL(clicked()),this,SLOT(showArea()));
}

MainWindow::~MainWindow()
{
    delete ui;
}

const static double PI=3.1415926;

void MainWindow::showArea()
{
    bool ok;
    QString tempstr;
    QString valueStr=linedit->text();
    int ValueInt=valueStr.toInt(&ok);
    double area=ValueInt*ValueInt*PI;
    label2->setText(tempstr.setNum(area));
}
connect是用来联系关联按键的click(),就是按键的点击事件,其他就是我如何新生成的控件,以及对控件进行的一个设定位置和大小,或者是文本罢了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值