QT += core gui widgets //引入需要用到的库
qDebug()<<"t="<<t<<QTime::currentTime();//在控制台输出当前时间
label->setStyleSheet("background:red; border-radius:25px");//设置样式表
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

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "QTimer"
#include "QLabel"
#include <QWidget>
class MainWindow : public QWidget
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
signals:
public slots:
void slotTimeout();
private:
QTimer timer;//定义全局变量
QLabel *label;
int t = 0;
};
#endif // MAINWINDOW_H

mainwindow.cpp

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

main.cpp

#include "QApplication"
//#include "QMainWindow"
#include "mainwindow.h"
int main(int argc, char *argv[]){
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}

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

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

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

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

在必要的时候发出信号

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

QT用LCD方式显示时间

先在头文件定义

QLCDNumber *shizhong;
QVBoxLayout *layout;
QTimer timer1;//定义全局变量

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

槽函数

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

格式化显示时间

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

圆角矩形显示label

label->setStyleSheet("background:#f69; border-radius:25px");
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" />

小球碰撞边界检测算法

void MainWindow::slotMove()
{
if(flagx == 0)
x++;
else
x--;
if(x + label->width() >= this->width())
{
flagx = 1;//It's time to move to the right derection
}
else if(x <= 0)
{
flagx = 0;//It's time to move to the left derection
}
if(flagy == 0)
y++;
else
y--;
if(y + label->height() >= this->height())
{
flagy = 1;//向上
}
else if(y <= 0)
{
flagy = 0;//向下
}
label->move(x,y);
}

本文出自 “阿凡达” 博客,请务必保留此出处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. dede使用方法---如何调用指定栏目

    使用dede的时候,我们需要调用某一个指定的栏目,这个时候我们该如何使用标签呢?? 真相就是----{dede:type typeid='27'}*******{/dede:type} 完整的标签代码 ...

  2. UML类图中的六种关系及实例

    前言: 设计模式是一种对于面向对象语言(C#,C++,Java)的高级应用.其思维体现出的是真正的代码设计.每一种模式都堪称巧妙!但基于各种设计模式,这里少不了基本的类图设计,本文简要列出6种关系,及 ...

  3. [vijos1982][NOIP2015]子串

    Description 有两个仅包含小写英文字母的字符串和.现在要从字符串中取出个互不重叠的非空子串,然后把这个子串按照其在字符串中出现的顺序依次连接起来得到一个新的字符串,请问有多少种方案可以使得这 ...

  4. css-IE中的border-radius和box-shadow

    1.今天遇到一个问题,在给一个图片设置border-radius时,firefox和chrome表现正常,但是在IE中就无效,在IE中必须给图片设置一个边框,比如设置一个透明的边框就可以正常显示. 2 ...

  5. 【BZOJ-4316】小C的独立集 仙人掌DP + 最大独立集

    4316: 小C的独立集 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 57  Solved: 41[Submit][Status][Discuss] ...

  6. linux中sh基本语法

    介绍:1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh  有人说是bash符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序 ...

  7. 【poj1091】 跳蚤

    http://poj.org/problem?id=1091 (题目链接) 题意 给出一张卡片,上面有n+1个数,其中最大的数为m,每次可以向前或者向后走卡片上面的步数.问有多少种方案选出n个数组成一 ...

  8. BZOJ2038 小z的袜子

    题意:给一些数,然后每次询问一段区间,问从这个区间中抽走两个数,抽到相同的数的概率 正解:莫队算法 今天新学习了莫队算法,感觉好神,离线的询问好像都可以用莫队. 要不是坑爹的HNOI2016考了两道莫 ...

  9. HDU4348 To the moon

    Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %I64u Description Backgrou ...

  10. Eclipse 代码自动补全配置方法

    Eclipse默认只有在出现 “.”时才进行代码提示,更改方法为: 即把“.”改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”,表示输 ...