环境:
Qt Creator 2.8.1
Qt 5.1.1
gcc 4.9.1
我的第一份qt程序
hello wolrd
控制台应用程序
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<"hello world";
return a.exec();
}
初识信号槽
建立GUI应用程序,在MainWindow中加入pushbutton,然后使用design进行设计,选择工具edit signals/slots, ,点击pushbutton,在configure connection中选上”show signals and slots inherited from Qwidget”, QPushButton中选择相应的事件,右侧mainwindow选择相应的事件,比如click() – close().
再次运行,单击button,窗口自动关闭。
认识基本的窗口
MainWindow对应QMainWindow
menuBar对应QMenuBar,它的下级是menuWindow,子项是actionWindow。
每一个Object都由一个Class对应。
右击pro图标可以增添新的ui,且对应的.h,.cpp等文件会自动加入文件路径。
右下角的窗体是对象的属性列表。
简单UI程序
设计产生100以内整数的随机数生成器,点击button即可在text中生成一个随机数字。
分析:
在MainWindow中加入textEdit、pushButton。当我们点击pushButton时,slot作出反应,使用srandom()
, rand()生成100的随机整数。
关键代码:
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <time.h>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_random_clicked()
{
srandom(time(0));
int result = (int)((double)rand()/RAND_MAX*100+0.5);
QString str= QString::number(result,10);
ui->textEdit->setText(str);
ui->textEdit->setAlignment(Qt::AlignHCenter);
}