qt_初学(一)_基于QTimer之计数器设计
2016-09-08 17:38
786 查看
心静不下来的时候,就想给自己找点事情做,如此就学习新的知识,qt的学习已经有几天了,想把这几天学习的东西记写在这里,以用来以后查阅方便,顺便记录自己的学习历程. 今天看到这个关于计数器的小练习,朋友说我这么low的东西还往上写啊,好丢人啊,我觉得没什么,凡是都是需要一定的过程的,对于初学QT的我来说,第一次将程序转化为界面化的过程还是让我感到十分高兴的,代码毕竟是时分枯燥和冷漠的,虽然很喜欢敲写代码的节奏感,但对于能够将繁琐的代码语言转化为任何人都可以看到和使用的界面又何尝不让人快乐呢. 直接上题:
根据题目的要求呢,首先选择MainWindow创建一个countor.pro工程,在.ui文件上添加3个pushbutton,LCD number如图所示:
具体代码如下:
main.cpp
#include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include<QTimer> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void xianshi(); private slots: void on_pushButton_clicked(); void on_pushButton_3_clicked(); void on_pushButton_2_clicked(); void on_action_triggered(); private: Ui::MainWindow *ui; int num; int miao; QTimer* t; QTimer* t1; int flag; int flag1; public slots: void counter(); void counter_miao(); }; #endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include"guanyu.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); t= new QTimer; t1= new QTimer; connect(t,SIGNAL(timeout()),this,SLOT(counter())); connect(t1,SIGNAL(timeout()),this,SLOT(counter_miao())); num=0; miao=0; flag=0; flag1=0; } MainWindow::~MainWindow() { delete ui; } void MainWindow::counter() { num++; if(flag==1)return; xianshi(); } void MainWindow::counter_miao() { miao++; QString temp = QString::number(miao,10); ui->lineEdit->setText(temp); } void MainWindow::on_pushButton_clicked() { t->start(1000);flag=0;flag1=0; t1->start(100); } void MainWindow::on_pushButton_3_clicked() { flag1++; if(flag1==1)t->stop(); 9691 else { num=0;xianshi();flag1=0; } } void MainWindow::on_pushButton_2_clicked() { flag++; if(flag==2)flag=0; xianshi(); } void MainWindow::xianshi() { QString temp = QString::number(num,10); ui->lcdNumber->display(temp); } void MainWindow::on_action_triggered() { guanyu e; e.exec(); }
guanyu.h
#ifndef GUANYU_H #define GUANYU_H #include <QDialog> namespace Ui { class guanyu; } class guanyu : public QDialog { Q_OBJECT public: explicit guanyu(QWidget *parent = 0); ~guanyu(); private: Ui::guanyu *ui; }; #endif // GUANYU_H
guanyu.cpp
#include "guanyu.h" #include "ui_guanyu.h" guanyu::guanyu(QWidget *parent) : QDialog(parent), ui(new Ui::guanyu) { ui->setupUi(this); } guanyu::~guanyu() { delete ui; }
当我们按下开始之后会开始计时
好吧,总结以下,确实好low的感觉,可能别人只需要十分钟不到就搞定的小程序,我要调试好久,查帮助文档,查看类成员使用,总算实现了基本功能,写程序会让人思维活跃,写东西会让人安静下来,我希望会一直保持这个习惯,不管是间的程序或者复杂的项目,一周让自己静下来那么几次,就当写写日记,记录下自己这种状态,每一次都在进步!加油!
<所思即所得-努力努力再努力>
相关文章推荐
- 基于Qt的遥感图像处理软件设计总结
- 基于Qt/Embedded和Qtopia的GUI设计
- 基于Qt的多窗口编程A--界面的设计
- 基于Qt的多窗口编程--界面的设计
- QT 基于QMainWindow的堆栈窗体设计
- 基于Qt的多窗口设计B-窗体切换的实…
- Qt之主窗口设计——基于QMainWindow主窗口程序
- 基于QT3的广告机模块设计
- 基于ZedBoard的Webcam设计(二):USB摄像头图片采集+QT显示
- 基于Qt/Embedded和Qtopia的GUI设计(转)
- 基于QtWebkit的嵌入式bs架构设计
- 基于Qt_Embedded的嵌入式Linux应用程序的设计
- 基于Qt的多窗口设计-窗体切换的实现
- 基于Qt嵌入式媒体播放器系统设计
- 基于Qt/Embedded的物流信息终端导航定位功能设计
- 嵌入式Linux中基于 Qt/Embeded触摸屏驱动的设计
- 基于 QtWebkit 的嵌入式 bs 架构设计
- (原创)基于ZedBoard的Webcam设计(二):USB摄像头图片采集+QT显示
- 基于MinGW和Msys使用QT、ACE QT与ACE在TCP服务端设计方面的比对
- 基于Qt/Embedded和Qtopia的GUI设计