1. QT += core gui widgets //引入需要用到的库
  1. qDebug()<<"t="<<t<<QTime::currentTime();//在控制台输出当前时间
  1. label->setStyleSheet("background:red; border-radius:25px");//设置样式表
  1. label->setFont(QFont("宋体",20));//设置标签的字体及大小

ctrl + i 格式化代码

F4在cpp文件和h文件之间切换

signal函数和slot函数都是void类型的

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/25/FF/wKioL1NoqHWBkTMiAABR_mkxCvc278.jpg" title="QQ截图20140506171536.png" alt="wKioL1NoqHWBkTMiAABR_mkxCvc278.jpg" />

mainwindow.h

  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include "QTimer"
  4. #include "QLabel"
  5. #include <QWidget>
  6. class MainWindow : public QWidget
  7. {
  8. Q_OBJECT
  9. public:
  10. explicit MainWindow(QWidget *parent = 0);
  11. signals:
  12. public slots:
  13. void slotTimeout();
  14. private:
  15. QTimer timer;//定义全局变量
  16. QLabel *label;
  17. int t = 0;
  18. };
  19. #endif // MAINWINDOW_H

mainwindow.cpp

  1. #include "mainwindow.h"
  2. #include "QString"
  3. #include "QFont"
  4. MainWindow::MainWindow(QWidget *parent) :
  5. QWidget(parent)
  6. {
  7. this->setGeometry(200,200,600,400);
  8. label = new QLabel(this);//将标签添加到当前的mainwindow中
  9. label->setGeometry(10,10,230,20);//设置标签的位置及大小
  10. label->setFont(QFont("宋体",20));//设置标签的字体及大小
  11. // connect(&timer,SIGNAL(timeout()),this,SLOT(close()));
  12. connect(&timer,SIGNAL(timeout()),this,SLOT(slotTimeout()));
  13. //信号...槽
  14. // t = 0;//这句注释掉,因为在mainwindow.h中已经初始化
  15. timer.start(10);//每10毫秒触发一次
  16. }
  17. void MainWindow::slotTimeout(){
  18. t++;
  19. label->setText(QString::number(t));
  20. }

main.cpp

  1. #include "QApplication"
  2. //#include "QMainWindow"
  3. #include "mainwindow.h"
  4. int main(int argc, char *argv[]){
  5. QApplication a(argc, argv);
  6. MainWindow w;
  7. w.show();
  8. return a.exec();
  9. }

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/25/FF/wKioL1NoqZ6iYgJnAABwFN78vQQ471.jpg" title="QQ截图20140506172035.png" alt="wKioL1NoqZ6iYgJnAABwFN78vQQ471.jpg" />

  1. QFile::exists("/chord.wav") ? qDebug()<<"chemin ok" : qDebug()<<"chemin faux";
  2. QString dir=QCoreApplication ::applicationDirPath();
  3. QString filename(dir+"/chord.wav");
  4. QSound::play ( filename );//播放声音

发出信号,现在头文件中定义

  1. signals:
  2. void signalTimeToDoSth();//自定义信号在

在必要的时候发出信号

  1. if(t == 100){
  2. emit signalTimeToDoSth();//发出信号
  3. }
  1. connect(this,SIGNAL(signalTimeToDoSth()),this,SLOT(slotTimeToDoSth()));
  1. 链接槽函数响应该信号。此处省略槽函数的具体写法。

QT用LCD方式显示时间

先在头文件定义

  1. QLCDNumber *shizhong;
  2. QVBoxLayout *layout;
  3. QTimer timer1;//定义全局变量

  1. shizhong = new QLCDNumber(this);
  2. shizhong -> setFont(QFont("宋体",50));
  3. shizhong-> move(420,30);
  4. shizhong -> resize(90,40);
  5. shizhong->setDigitCount(10);
  6. shizhong->setMode(QLCDNumber::Dec);//十进制显示
  7. shizhong->setSegmentStyle(QLCDNumber::Flat);//显示方式
  8. layout = new QVBoxLayout();
  9. layout->addWidget(shizhong);
  10. timer1.start(1000) ;
  11. QObject::connect(&timer1, SIGNAL(timeout()), this, SLOT(onTimerOut()));

槽函数

  1. void MainWindow::onTimerOut()
  2. {
  3. QTime time = QTime::currentTime();
  4. shizhong -> display(time.toString("hh:mm:ss"));
  5. }

格式化显示时间

  1. QString s;
  2. QString r = s.sprintf("%02d:%02d:%02d",t/3600,t/60%60,t%60);
  3. label->setText(r);

圆角矩形显示label

  1. label->setStyleSheet("background:#f69; border-radius:25px");
  2. label->setFixedSize(250, 50);

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/26/B0/wKiom1NspQSTzvJsAAAh3XD9rL8157.jpg" title="QQ截图20140509174918.png" alt="wKiom1NspQSTzvJsAAAh3XD9rL8157.jpg" />

小球碰撞边界检测算法

  1. void MainWindow::slotMove()
  2. {
  3. if(flagx == 0)
  4. x++;
  5. else
  6. x--;
  7. if(x + label->width() >= this->width())
  8. {
  9. flagx = 1;//It's time to move to the right derection
  10. }
  11. else if(x <= 0)
  12. {
  13. flagx = 0;//It's time to move to the left derection
  14. }
  15. if(flagy == 0)
  16. y++;
  17. else
  18. y--;
  19. if(y + label->height() >= this->height())
  20. {
  21. flagy = 1;//向上
  22. }
  23. else if(y <= 0)
  24. {
  25. flagy = 0;//向下
  26. }
  27. label->move(x,y);
  28. }

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1407300

QT入门的更多相关文章

  1. Qt入门学习——Qt 5 帮助文档的使用

    Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必 ...

  2. Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

    转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...

  3. Qt入门之基础篇(三):掌握Qt4的静态编译基本方法

    转载载请注明出处:CN_Simo. 导语: 前两章都提到过“静态编译”(Static Compilation),在Windows下一次静态编译差不多需要长达三个小时才能完成,而且还非常容易由于各种原因 ...

  4. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  5. 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...

  6. Qt入门(2)——使用Qt编写的Hello world

    对于一个qt初学者来说,一步一步来直到作出一个hello world是最基础的入门. 从菜单:应用程序->编程中找到QtCreator

  7. Qt入门之基础篇(1):Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  8. QT入门学习笔记2:QT例程

    转至:http://blog.51cto.com/9291927/2138876 Qt开发学习教程 一.Qt开发基础学习教程 本部分博客主要根据狄泰学院唐老师的<QT实验分析教程>创作,同 ...

  9. 1.1 Qt入门

    学习Qt的前提是学好C++. 我刚入门Qt,打算趁着暑假2个月时间来学习<C++ GUI Qt 4>这本书. 现在有Qt4和Qt5,似乎很多公司都还是在使用Qt4,所以我也就选择了学习Qt ...

  10. 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...

随机推荐

  1. AOPR弹出Order Now窗口怎么办

    当我们忘记了我们自己设置的office密码的时候,需要一款office密码破解软件来帮我们破解,Advanced Office Password Recovery就是这样的一款软件,其简称AOPR.试 ...

  2. VS 远程发布IIS

    <?xml version="1.0" encoding="utf-8"?><!--您 Web 项目的发布/打包进程将使用此文件.您可以通过编 ...

  3. Java反编译插件JadClipse

    Java反编译是很容易的,现在就介绍一个反编译插件,以后我们通过Ctrl+鼠标左键查看源码就容易得多了,不用再担心源码找不到了,配置过程很简单的. 准备: 1.下载JadClipse(jar文件,ec ...

  4. 【LintCode】判断一个字符串是否包含另一个字符串的所有字符

    问题描述: 比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母. 样例 给出 A = "ABCD" B = "ACD",返 ...

  5. php验证登录

    <html><head> <title></title> <meta charset="utf-8"></head ...

  6. bzoj3998: [TJOI2015]弦论

    SAM小裸题qwq #include <iostream> #include <cstdio> #include <cmath> #include <cstr ...

  7. iOS开发基础知识碎片

    1:contentSize.contentInset和contentOffset区别 contentSize 是scrollview中的一个属性,它代表scrollview中的可显示区域,假如有一个s ...

  8. 翻滚吧,Spark (错误记录)

    1) 本地运行报错: Exception in thread "main" org.apache.spark.SparkException: A master URL must b ...

  9. 【poj3122】 Pie

    http://poj.org/problem?id=3122 (题目链接) 题意 给出N个pie的半径和F个friend,每个friend得到的pie必须一样,求每个人能得到的pie的最大大小. so ...

  10. 【poj1655】Balancing Act

    http://poj.org/problem?id=1655 (题目链接) 题意 给出一棵树,求树上一点使得使得删除一点后该树的最大子树最小. solution 树的重心裸题. 随意取一点作为根节点, ...