diff --git a/QtMyStyleEx/.gitignore b/QtMyStyleEx/.gitignore new file mode 100644 index 0000000..fab7372 --- /dev/null +++ b/QtMyStyleEx/.gitignore @@ -0,0 +1,73 @@ +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/QtMyStyleEx/Example.cpp b/QtMyStyleEx/Example.cpp new file mode 100644 index 0000000..3adc101 --- /dev/null +++ b/QtMyStyleEx/Example.cpp @@ -0,0 +1,11 @@ +#include "Example.h" + +Example::Example(QWidget *parent) + : QWidget(parent) +{ +} + +Example::~Example() +{ +} + diff --git a/QtMyStyleEx/Example.h b/QtMyStyleEx/Example.h new file mode 100644 index 0000000..754764f --- /dev/null +++ b/QtMyStyleEx/Example.h @@ -0,0 +1,14 @@ +#ifndef EXAMPLE_H +#define EXAMPLE_H + +#include + +class Example : public QWidget +{ + Q_OBJECT + +public: + Example(QWidget *parent = nullptr); + ~Example(); +}; +#endif // EXAMPLE_H diff --git a/QtMyStyleEx/QtMyStyleEx.pro b/QtMyStyleEx/QtMyStyleEx.pro new file mode 100644 index 0000000..7381416 --- /dev/null +++ b/QtMyStyleEx/QtMyStyleEx.pro @@ -0,0 +1,28 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp \ + Example.cpp + +HEADERS += \ + Example.h + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/QtMyStyleEx/main.cpp b/QtMyStyleEx/main.cpp new file mode 100644 index 0000000..6f3c24c --- /dev/null +++ b/QtMyStyleEx/main.cpp @@ -0,0 +1,11 @@ +#include "Example.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + Example w; + w.show(); + return a.exec(); +} diff --git a/README.md b/README.md index b55a2bd..b9764c6 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,50 @@ # QtExamples: - +
+ +
                                我也不知道为什么,就是想放这么一张图在这里。
## 项目介绍: -  我的编程困难解决最初得益于于热心网友的自由帮助,起初还是一杯纯牛奶;有曾经遇到过简单但是却无法解决的基础问题,但是奈何网上的偏向基础的小白文章很少,尤其是真的某一个系列更是几乎没有,我曾得到过他们的帮助,对的,自由且免费的帮助😄😄; 现如今在力所能及的将自己领域的知识积累都分享出来,有尤其是从0→1的入门文章,写成一个系列会比较有趣,文章不会有广告,也不会去搞公众号广告之流的去盈利,额外发展为副业,而影响阅读体验和技术的这份单纯,也是为了能够被🔍引擎检索到,而不是只能在朋友圈流传几天;受恩惠和感谢互联网精神,愿将个人的项目或经验整理成博客的形式,也提供给一起大家学习探讨与交流 。 -
- -, - -, - -虽然这样子不会盈利,也会比较累,但是我因为自由和开源软件而写的开心ya, 鸭鸭 - -———————————————— +  `Qt5` 各个控件使用的一个例子、以及一些底层原理或者技巧性的理解,即是自己所学记录,亦可以互相交流共享学习,**有朋自远方互联网而来,不亦悦乎?**
-  Qt5 各个控件使用的一个例子、以及一些底层原理或者技巧性的理解,即是自己所学记录,亦可以互相交流共享学习,**有朋自远方互联网而来,不亦说乎?** +## 过来: + +  **新手** 在深思熟虑后踏入的编程,容易遭遇如下如下几点↬: + +1. 语言语法不熟悉🤦‍♀️ +2. 相关 IDE 安装、配置不会;不懂如何创建自己所需的工程项目🤦‍♀️ +3. 基础控件不认识,不会用🤦‍♀️ +4. 难以🔍可阅读、成体系的低级博客,多为高热度Title文章🤦‍♀️ +5. ...开始步入正轨👣 +6. 也不知学编程到是底在学习什么❓👀 +7. ...修行靠个人👩‍💻
-  刚大学毕业,大二开始正式(日以继夜的敲)学习c/c++路线知识,但今年已经的毕业,虽然学习过程中,距今学习qt知识,也有一年多了,中间有写一些比如[**中国象棋**](https://blog.csdn.net/qq_33154343/article/details/89284983),**QQ**(的 [登录](https://blog.csdn.net/qq_33154343/article/details/80448144)/ [私聊](https://blog.csdn.net/qq_33154343/article/details/79341062)、[群聊](https://blog.csdn.net/qq_33154343/article/details/96437681)等功能),**但是却总是感觉有一种半路出家的学习qt的柑橘**,想着`c++`的知识还算学习的比较系统且完备(个人感觉)。一直在想要不要过的轻松点,把qt给**推到重来**,期间犹豫不定,工作的话,用到相关知识,再去百度谷歌一下,够用即可,后面或许会去学习其他部分的知识,qt也许只是一个过渡呢?但是写着写着,发现这个跨平台是真的好用,越发发现其设计的简洁、方便还带一种设计的美感,让我逐渐沉迷其中,近日想清楚了,**下定决心,还是推倒重来**,全过程的熟悉和了解的qt的所有相关,或许期间会比较辛苦(毕竟还附带同时维护两个blog和一个github),但是我想着,以qt为媒介,学会使用、思想、架构设计、经验,或许会耗时一两年吧,倘若那个时候,这个系列也已经写完了的话,应该对这个也有一定的认知,到时候,再去接触,学习更高的平台和架构思想,应该会有较大的帮助。算是一个人生今后的一个短暂规划,学习不用急于求成而焦虑,自然水到渠成。 -                                             2019-08-18 +## 所想: + +1. 自己想学一遍 GUI 控件 +2. 帮助真的新手实现0→1的入门,解决👆的1,2,3,4,6问题 +3. 学习于网络,回馈于网络 +4. 希望永久被🔍引擎检索到,以博客形式发表📝
-## 说明: +## 想说:🙋‍♀️ - 会将该系列的源码,文章等系列,全部托管于这个仓库,该系列的主线任务只是讲解**qt**的相关文章。 +> 虽然不盈利,会累,但因自由和开源软件而写的开心ya, 鸭鸭 + +
+ +## 关于 QT 系列文章说明: + + 会将该系列的源码,文章等系列,全部托管于这个仓库,该系列的主线任务是讲解**Qt**的相关文章。 **开发系统:** `MacOS 10.14.6 (18G103)` | `win10 x64 专业版 1803` | `UOS 20 x64 专业版 ` @@ -39,21 +52,36 @@ **编码语言:**![](https://img.shields.io/badge/language-c++-orange.svg) -**支持平台:**![](https://img.shields.io/conda/pn/conda-forge/qt?style=plastic) -
# 项目文章系列: ## 第一部分:预备知识 -- [`windows10`环境下安装`Qt Creator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt** (最佳推荐)](https://blog.csdn.net/qq_33154343/article/details/103674579) -- [`MacOS10.14.6`环境下安装`QtCreator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt**(推荐)](https://blog.csdn.net/qq_33154343/article/details/103231202) -- [Qt Creator 安装SDK,在MSVC编译模式下使用CDB调试器](https://blog.csdn.net/qq_33154343/article/details/98779698) -- [`windows`环境下安装`Qt Creator` + `Visual Studio 2015`作为`c++`的`IDE`开发工具,学习和使用**qt** (备选)](https://blog.csdn.net/qq_33154343/article/details/103755569) -- [`windows`环境下安装`Qt Creator 5.9` + `Visual Studio 2017专业版 ` 参考此文 (备选)](https://blog.csdn.net/qq_33154343/article/details/78587699) -- `Qt Creator` 此**IDE**的界面基本组成和入门使用讲解 -- 编写一个**qt**的第一个项目: `Hello World`的项目 +- **windows 系统:** + + - [`windows10`环境下安装`Qt Creator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt** (最佳推荐)](https://blog.csdn.net/qq_33154343/article/details/103674579) + + - [Qt Creator 安装SDK,在MSVC编译模式下使用CDB调试器](https://blog.csdn.net/qq_33154343/article/details/98779698) + - [`windows`环境下安装`Qt Creator` + `Visual Studio 2015`作为`c++`的`IDE`开发工具,学习和使用**qt** (备选)](https://blog.csdn.net/qq_33154343/article/details/103755569) + - [`windows`环境下安装`Qt Creator 5.9` + `Visual Studio 2017专业版 ` 参考此文 (备选)](https://blog.csdn.net/qq_33154343/article/details/78587699) + +- **MacOS 系统:** + + - [`MacOS10.14.6`环境下安装`QtCreator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt**(推荐)](https://blog.csdn.net/qq_33154343/article/details/103231202) + +- **Linux 系统:** + + **此处 Linux 以 uos20 为例(即: deepin )** + + - [在win10里面的VMware安装UOS20,在uos20里面安装QtCreator,配置dtk开发环境](https://blog.csdn.net/qq_33154343/article/details/103733327) + - [MacOS10.14安装虚拟机Parallels_Desktop,安装UOS20和 QtCreaor,搭建dtk开发环境](https://blog.csdn.net/qq_33154343/article/details/104180794) + - [在macOS 10.14的虚拟机VMware Fusionlimian里面安装deepin15.11(Linux)](https://blog.csdn.net/qq_33154343/article/details/102789047) + + + +- **Qt Creator 作为 IDE 基础讲解:** + - [Qt Creator` 此**IDE**的界面基本组成和入门使用讲解(Win,Linux,MacOS搭配不同版本 Qt)](https://blog.csdn.net/qq_33154343/article/details/103942733)
@@ -83,7 +111,7 @@ - [自定义和标准对话框的用法](https://blog.csdn.net/qq_33154343/article/details/103606981)【QtCustomDialogEx】 - [多文档界面`MDI`(`Multi-document Interface`)的实现,`QMdiArea`使用](https://blog.csdn.net/qq_33154343/article/details/103625380)【QtMDIEx】 - +
## 第四部分:网络编程 @@ -92,7 +120,7 @@ - [`Upd`通信之`QUdpSocket`的`unicast`单播、`broadcast`广播、`multicast`组播](https://blog.csdn.net/qq_33154343/article/details/103789843)【QtUdpEx】 - [`QNetworkAccessManager`/`QNetworkReply`/`QNetworkRequest`实现高层网络的操作`http`](https://blog.csdn.net/qq_33154343/article/details/103811638) 【QtHttpEx】 - +
**网络的实际使用🌰:** @@ -112,7 +140,7 @@ ## 扩展部分:自定义风格样式QStyle - 自定义`QStyle`界面所有控件的风格,换肤效果的教程,自定义继承`QCommonStyle`的风格类【QtCustomStyleEx】 -- 预备知识:`QStyle`、`QCommonStyle`等讲解 +- 前期预备知识:`QStyle`、`QCommonStyle`等讲解 - [更换`Qt`应用程序的界面`UI`,实现换肤,改用自带其他默认`QStyle`风格样式](https://mp.csdn.net/mdeditor/100148539#) - [`QStyle`自定义重绘滑动条`QSlider`控件](https://blog.csdn.net/qq_33154343/article/details/100545769) - [`QStyle`自定义重绘`QRubberBand`控件](https://blog.csdn.net/qq_33154343/article/details/100588428) @@ -173,7 +201,7 @@ ## 互助: -若是帮助到了你,或者觉得有用,可以点击该项目的的 **Star** 和 **Fork** 的两个图标,方便抬手之间,表示点个赞,手有余香 +若是帮助到了你,或者觉得有用,可以点击该项目的的**Star****Fork** 的两个图标,方便抬手之间,表示点个赞,手有余香