用Qt画圣诞树——要画就画最丑的圣诞树

简介: 用Qt画圣诞树——要画就画最丑的圣诞树

用qt画一颗圣诞树,来看下效果图:

看起来还是有那么亿点丑的。

源代码地址(包含可执行程序)

概要:

整体都是用qt画线完成的,大致分为:竖直的树干、横着的三条线、左右两边的斜线。

装饰都是图片,直接放在了树上。有一个红包会随机从一个高处缓缓下落,有两个星星在不停的变化位置。

红包的下落和星星的变化位置都是通过定时器,不断触发超时函数,然后随机产生位置,变换位置,达到动态的效果。树上还有两个黄色的圆灯(不知你发现没),这个后期可以优化做成呼吸灯。

好像其他的没啥了,其实这个并不难,主要的就是线的坐标的确定,画线,再加上装饰,详情可以查看源文件christmastree.cpp,源文件注释可供理解。

欢迎下载试玩!

相关文章
|
5月前
|
C++ 索引
C++ Qt开发:TreeWidget 树形选择组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍`TreeWidget`树形选择组件的常用方法及灵活运用。
67 0
C++ Qt开发:TreeWidget 树形选择组件
|
7月前
|
编译器
嵌入式QT 树形浏览 - navListView
嵌入式QT 树形浏览 - navListView
|
4月前
|
编译器 C语言 C++
Qt6学习笔记一(安装、新建工程(cmake编译)、QPushButton、对象树、Qt窗口坐标系)
Qt6学习笔记一(安装、新建工程(cmake编译)、QPushButton、对象树、Qt窗口坐标系)
62 0
|
C++
C/C++ Qt TreeWidget 单层树形组件应用
TreeWidget 目录树组件,该组件适用于创建和管理目录树结构,在开发中我们经常会把它当作一个升级版的`ListView`组件使用,因为`ListView`每次只能显示一列数据集,而使用`TableWidget`组件显示多列显得不够美观,此时使用Tree组件显示单层结构是最理想的方式,本章博文将通过`TreeWidget`实现多字段显示,并增加一个自定义菜单,通过在指定记录上右键可弹出该菜单并对指定记录进行操作。
292 0
C/C++ Qt TreeWidget 单层树形组件应用
|
安全
【QT】QT对象树
【QT】QT对象树
【QT】QT对象树
|
存储 程序员 C#
Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)
Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)
Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)
|
C++
Qt之对象树与所有权
简述 QObjects在一个对象树中组织他们自己。当创建一个QObject时,如果使用了其他对象作为其父对象,那么,它就会被添加到父对象的children()列表中。这样一来,当父对象被销毁时,这个QObject也会被销毁。事实表明,这个机制非常适合于管理GUI对象。例如:一个QShortcut(键盘快捷键)对象是相关窗口的一个子对象,所以,当用户关闭了这个窗口时,快捷键也
1189 0
|
2月前
|
算法 编译器 Linux
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
18 0
|
2月前
|
网络协议 C++
C++ Qt开发:QTcpSocket网络通信组件
`QTcpSocket`和`QTcpServer`是Qt中用于实现基于TCP(Transmission Control Protocol)通信的两个关键类。TCP是一种面向连接的协议,它提供可靠的、双向的、面向字节流的通信。这两个类允许Qt应用程序在网络上建立客户端和服务器之间的连接。Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用`QTcpSocket`组件实现基于TCP的网络通信功能。
38 8
C++ Qt开发:QTcpSocket网络通信组件