A:QT可以用来干什么:

B:QT是或平台的一种方案,一次编写随处编译。C++与QT的关系类似于C++与MFC的关系。但是QT是跨平台的

C++配合QT编写的程序可以不怎么修改的就移植到Windows,Linux,MAC,IOS,Android,WP,WinCE上,

特别是学了C++但是不想学Java却想开发安卓程序的同学就可以学习QT了

第一节课:制作一个类似于Windows的时钟

课程持续更新,欢迎加扣扣讨论:1085081059

视频教程和工程文件链接:

http://pan.baidu.com/s/1pLSXJjP

#ifndef CLOCK_H
#define CLOCK_H#include <QWidget>class Clock : public QWidget
{Q_OBJECTpublic:Clock(QWidget *parent = 0);~Clock();
protected:void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
};#endif // CLOCK_H
#include "clock.h"
#include "QTimer"
#include "QPainter"
#include "QTime" Clock::Clock(QWidget *parent): QWidget(parent)
{//创建一个定时器,等会每秒跟新下界面QTimer *timer = new QTimer(this);//将定时器时间到了和时间更新两个函数联系起来connect(timer, SIGNAL(timeout()), this, SLOT(update()));//启动定时器,时间间隔为1000毫秒timer->start(1000);//设置窗体标题setWindowTitle(tr("教主送你们一块手表"));//设置窗体大小resize(200, 200);}Clock::~Clock()
{}void Clock::paintEvent(QPaintEvent *)
{//用来画时针的三个点static const QPoint hourHand[3] = {QPoint(7, 8),QPoint(-7, 8),QPoint(0, -40)};//用来画分针的三个点static const QPoint minuteHand[3] = {QPoint(7, 8),QPoint(-7, 8),QPoint(0, -70)};//用来画秒针的三个点static const QPoint secHand[3] = { QPoint(7,8),QPoint(-7,8),QPoint(0,-80)};//分别定义用来画三个指针的颜色//参数(Red,Green,Blue,透明度)QColor hourColor(127, 0, 127);QColor minuteColor(0, 127, 127, 191);QColor secColor(255,0,0); //获得窗体宽度和高度,然后取最小的那个int side = qMin(width(), height());QTime time = QTime::currentTime();//定义一个画笔用来画指针和表盘QPainter painter(this);//类似于抗锯齿之类的painter.setRenderHint(QPainter::Antialiasing);//将坐标中心转移到窗体中心painter.translate(width() / 2, height() / 2);//定义刻度大小,就是把刚刚得到的比较短的那边除以200得到painter.scale(side / 200.0, side / 200.0);painter.setPen(Qt::NoPen);painter.setBrush(hourColor);painter.save();//通过旋转坐标轴得到图形的旋转,每小时正好30度painter.rotate(30.0 * ((time.hour() + time.minute() / 60.0)));painter.drawConvexPolygon(hourHand, 3);painter.restore();painter.setPen(hourColor);//通过旋转12次坐标轴画出小时分割线for (int i = 0; i < 12; ++i) {painter.drawLine(88, 0, 96, 0);painter.rotate(30.0);}painter.setPen(Qt::NoPen);painter.setBrush(minuteColor);painter.save();//通过旋转坐标轴的到分针的旋转,每分钟正好6度painter.rotate(6.0 * (time.minute() + time.second() / 60.0));painter.drawConvexPolygon(minuteHand, 3);painter.restore();painter.setPen(minuteColor);//对5取余,跳过已经画过的小时分割线for (int j = 0; j < 60; ++j) {if ((j % 5) != 0)painter.drawLine(92, 0, 96, 0);painter.rotate(6.0);}painter.setPen(Qt::NoPen);painter.setBrush(secColor);painter.save();painter.rotate(time.second() * 6);painter.drawConvexPolygon(secHand, 3);painter.restore();
}
#include "clock.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Clock w;w.show();return a.exec();
}

01--QT GUI视频教程相关推荐

  1. 嵌入式QT基础视频教程免费分享!

    嵌入式QT基础视频教程免费分享! 首先给大家介绍一下QT的简介,Qt 是一个用于桌面系统和嵌入式开发的跨平台应用程序框架.它包括一个直观的API和一个丰富的类库,以及用于GUI开发和国际化的集成工具, ...

  2. OpenSceneGraph与qt结合视频教程-师占标-专题视频课程

    OpenSceneGraph与qt结合视频教程-21169人已学习 课程介绍         Qt中嵌入OSG控件教程,教大家.认识并简单的应用qt,达到可以做一些自己的小例子:qt与osg是如何传递 ...

  3. Python Qt GUI设计:信号与槽的使用方法(基础篇—7)

    目录 1.信号与槽的概念 2.信号与槽的基础函数 2.1.创建信号函数 2.2.连接信号函数 2.3.断开信号函数 2.4.发射信号函数 3.信号和槽的使用方法 3.1.内置信号与槽的使用 3.2.自 ...

  4. Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)

    目录 1. 水平布局类(QHBoxLayout) 2.垂直布局类(QVBoxLayout) 3.网格布局类(QGridLayout) 3.1.单一的网络布局 3.2.跨越行.列的网络布局 4.表单布局 ...

  5. Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

    目录 1.布局管理器进行布局 2.容器控件进行布局 3.geometry属性:控件绝对布局 4.sizePolicy属性:微调优化控件布局 Qt Designer提供4种窗口布局方式,分别如下: Ve ...

  6. Python Qt GUI快速编程第六章代码分析

    这是我敲的Python Qt Gui快速编程第六章上的代码,以后可能要用到其中一些,如果忘记了就来这里看看. #coding=utf-8 #d import os import platform im ...

  7. Qt Console Application 与 Qt GUI Application互转

    在桌面开发中,总的来说,包含两种类型的应用程序:无界面的Console程序和有界面的GUI程序.Qt也不例外,包含Qt Console Application和Qt GUI Application. ...

  8. python界面编程pdf_Python Qt GUI快速编程——PyQt编程指南 中文pdf完整版[99MB]

    内容介绍热点排行相关文章下载地址↓ Python Qt GUI快速编程--PyQt编程指南主要讲述如何利用Python和Qt开发GUI应用程序的原理.方法和关键技术.本书共分四个部分:第一部分主要讲述 ...

  9. python qt gui快速编程_《PYTHON QT GUI快速编程 PYQT编程指南》源码

    文件名大小更新时间 <PYTHON QT GUI快速编程 PYQT编程指南>源码\chap01\answers.txt9882007-06-27 <PYTHON QT GUI快速编程 ...

  10. 新书《Python Qt GUI与数据可视化编程》

    经过一年多写作和出版社的编辑加工,我的第二本书<Python Qt GUI与数据可视化编程>马上就正式上架了,敬请关注. 本书介绍在Python中使用PyQt5和其他模块进行GUI和数据可 ...

最新文章

  1. Google服务器 IP
  2. 获取Web.config配置节
  3. python中关键字 表示空类型_python中什么表示空类型
  4. 双linux共用swap,在Linux和FreeBSD系统上共享swap空间
  5. 感恩节(美食火鸡大餐)PNG免扣素材 总有一款你用得上
  6. 将Numpy数组保存为图像
  7. Mutt email 程序使用入门 作者:王垠
  8. Linux/Windows 文件交互读取转义字符变换
  9. win7驱动程序未经签名可以使用吗_win7系统驱动强制数字签名的问题
  10. 清爽通用工作总结汇报ppt模板免费下载_PPTX图片设计素材_包图网888pic.com
  11. 微信公众图文消息html,微信公众号图文消息怎么添加图片背景?
  12. java刮刮乐,Canvas实现简单刮刮乐效果
  13. 运用审查元素下载网页视频
  14. 纯手工打war包方法
  15. LaTex 解决目录红框问题
  16. 逆向分析CrackMe系列——CrackMe004之注册码算法分析
  17. CodeForces 103B Cthulhu
  18. Geekbench—系统性能检测工具
  19. python编译程序输入上网时间并计算上网费用 计算方法_编一应用程序根据上网时间计算上网费用,计算方法如下: 25元基数 ≤10小时 每小时2元 10且≤50小时 每小...
  20. 根据屏幕判断iPhoneX

热门文章

  1. delphi CnPack
  2. IMC IMV SecurityCenter连通
  3. 小米手机访问电脑共享文件_详细方法步骤教你如何解决小米电视访问电脑共享资源!...
  4. 桂林老兵站ASP木马
  5. 互联网专用计算机屏保,5款屏保,让你的电脑在闲置时也与众不同。
  6. caxa线切割怎样画链轮_CAD画链轮的方法
  7. C#最简单的NetMeeting
  8. bochs运行xp_bochs xp镜像下载-bochs xp镜像下载 v2.5.1精简版-下载啦
  9. 诺基亚PC套件在windows 2003安装的方法
  10. 算法分析与设计课程总结