[QT]第一个QT程序

来源:互联网 发布:单机手游 知乎 编辑:程序博客网 时间:2024/04/29 16:02

今天第一天入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_OBJECTpublic:    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(),就是按键的点击事件,其他就是我如何新生成的控件,以及对控件进行的一个设定位置和大小,或者是文本罢了。




0 0
原创粉丝点击