自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (4)
  • 收藏
  • 关注

原创 QT5之翻金币案例

QT5之翻金币案例一、前言本次案例是QT5初学入门案例,参考黑马程序员翻金币案例。作为入门的案例,我重构了代码,改善了可读性,并解决了原案例代码中的不足(比如对象资源为加到对象树造成的内存泄漏等问题),有问题随时评论区指出私聊我,谢谢!目前是写了20个关卡,后续可根据代码,自行添加关卡个难易度。二、成果展示1、主界面:点击菜单栏,可以选择退出;点击开始,进入选择模式界面;点击对应的关卡,可选择进入游戏。只要把所有的银币翻成金币,就可以过关。三、程序下载1、下载地址:github下

2020-09-11 10:00:41 1133

原创 c++ 多态案例----计算器类

c++ 多态案例----计算器类

2022-11-14 22:51:48 222

原创 函数调用运算符重载

函数调用运算符重载

2022-11-10 22:32:31 31

原创 C++ 赋值运算符重载

C++ 赋值运算符重载

2022-11-10 00:00:29 155

原创 C++ 运算符重载

c++运算符重载

2022-11-08 22:33:26 251

原创 c++ 类模板的使用

C++ 类模板的使用

2022-10-27 21:50:31 82

原创 函数模板使用注意事项

函数模板使用注意事项

2022-10-26 21:43:09 12

原创 c++11 using与typedefine

c++11 中using 与 typedefine

2022-10-25 23:11:41 34

原创 c语言的运算优先级

c语言的运算优先级

2022-07-28 11:01:35 4686

原创 Qt - 自定义窗口 点击窗口外自动关闭

Qt - 自定义窗口 点击窗口外自动关闭知识点利用 Qt::Popup,可以实现点击窗口外区域自动关闭窗口;利用 Qt::WA_NoMouseReplay,可以避免重复触发窗口外的鼠标点击事件(仅关闭窗口);利用 activeWindows(),可以解决Qt::Popup属性的窗口无法输入中文的问题(show之后调用);代码:// PopupDialog.hclass PopupDialog : public QDialog{ Q_OBJECTpublic: PopupDialog(Q

2022-04-11 15:00:31 753

原创 QFileSystemModel练习

一、Qt–MV结构之 QFileSystemModel代码如下: QSplitter * pSp = new QSplitter(this); QFileSystemModel * pModel = new QFileSystemModel(this); pModel->setRootPath(QDir::currentPath()); QTreeView * pTreeView = new QTreeView(pSp); pTreeView->setModel(pModel);

2021-10-13 23:57:34 48

转载 Linux下打包发布Qt程序

Linux下打包发布Qt应用程序Linux下使用Qt进行开发的程序,如果想要在其他搭载Linux系统的主机上运行则需要将要发布的Qt程序依赖的一些动态链接库一起打包。具体做法如下:1、编译文件在Qt中使用release的方式编译出可执行文件,然后新建一个文件夹,将可执行文件拷贝进去。这里以untitled可执行文件为例。2、添加脚本文件2.1、在该文件夹下,新建文件pack.sh;命令为:sudo touch pack.sh向pack.sh文件里添加以下内容,之后保持退出:#!/bi.

2021-07-14 10:02:37 148

原创 Qt QTableWidget某列为删除和添加按钮,点击删除当前行,点击添加添加一行。

实现:Qt QTableWidget某列为删除和添加按钮,点击删除当前行,点击添加添加一行。一、运行效果图二、源码1.头文件#pragma once#include <QWidget>#include "ui_QtableWidgetNB.h"class QtableWidgetNB : public QWidget{ Q_OBJECTpublic: QtableWidgetNB(QWidget *parent = Q_NULLPTR); ~QtableWidge

2021-06-15 19:08:41 2725 7

原创 QLineEdit设置icon的2种方式

QLineEdit { background: #f3f3f3; background-image: url(:Images/search.svg); /* actual size, e.g. 16x16 */ background-repeat: no-repeat; background-position: left; color: #252424; font-family: SegoeUI; font-size: 12px; paddin

2021-06-04 11:47:21 1977 3

原创 QT QButtonGroup 与 QStackedWidget 实现菜单(Tab)切换

一、效果图:

2021-06-02 00:00:08 309

转载 Qt设置程序开机启动

Qt设置程序开机启动:参数 isStarttrue 为开机启动false 为取消开机启动#include <QSettings>//注册表#define AUTO_RUN "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run"void AutomaticStartup(bool isStart){ QString strApplicationName = QApplication

2021-05-31 13:54:44 117

原创 Qt QLabel 文本内容可以用鼠标选取操作,并且右键为中文

Qt QLabel 文本内容可以用鼠标选取操作:QLabel* label = new QLabel();label ->setTextInteractionFlags(Qt::TextSelectableByMouse);右键为中文,需要一个翻译家。1.复制D:\Qtmingw\Qt5.5.0\5.5\mingw492_32\translations文件夹下的qt_zh_CN.qm到程序路径下qm文件夹下;2.添加一个资源文件tran.qrc将qt_zh_CN.qm添加到资源文件;3.

2021-05-13 09:54:32 693 1

原创 Qt 使用函数指针,解决带参数信号的重载问题

Qt 使用函数指针,解决带参数信号的重载问题在编写代码的时候,我们会遇到信号重载,一个信号有可能被重载多次,那么,怎么样确定是用哪个信号呢?这里我总结了3中办法:一、使用传统的Qt 4 的写法,信号参数个数跟槽的参数一一对应即可;不推荐使用此方法,因为Qt4中的信号连接,在编译的时候,不对参数进行检查;二、使用Qt5的写法使用Qt5的信号连接方式,遇到信号重载问题,就需要写函数指针来确定参数了;函数指针:其本质是一个指向函数的指针,"::"是用来限定作用域的 void (myWidget

2021-05-12 16:37:10 744 1

原创 Qt 之QSS美化滑动条

Qt 之QSS美化滑动条:最终效果:/*设置垂直滚动条基本样式*/QScrollBar:vertical { width: 8px; background: rgba(0,0,0,0%); margin: 0px,0px,0px,0px; /*留出9px给上面和下面的箭头*/ padding-top: 9px; padding-bottom: 9px;}QScrollBar::handle:vertical { width: 8px;

2021-04-22 00:04:03 1064

原创 解决 vs2019 Qt5.9.8 打开资源文件qrc提示:Qt Resource Editor Detach

提示以下内容:解决办法有2个:一个是打开方式选择QtCreator打开这个文件然后添加,此方法通过测试;另一个方法是查找到 Qrceditor.exe 打开方式换成这个也可以。

2021-04-20 23:20:29 1001

原创 Qt QTableWidget 设置表头样式穿透第一行

Qt QTableWidget 设置表头样式穿透第一行:ui.tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:red;}"); //设置表头背景色ui.tableWidget->setStyleSheet("QTableCornerButton::section{background:red;}");...

2021-04-20 22:45:35 882

原创 QT之使用插件QAxWidget来展示web页面

QT之使用插件QAxWidget来展示web页面1、 新建一个基于QFrame的程序:WebBrowser。2、新建一个类 CWebBrowser。3、webBrowser.h 如下:#pragma once#include <QDialog>#include <ActiveQt/QAxWidget>class CWebBrowser: public QFrame{ Q_OBJECTpublic: explicit CWebBrow.

2021-02-07 17:16:06 956

原创 Qt之QWidget设置窗口背景图片的几种方法

Qt之QWidget设置窗口背景图片的几种方法几种方法如下:1.使用调色板QPalette来设置图片QPalette pal =this->palette();pal.setBrush(QPalette::Background,QBrush(QPixmap(":/bg.jpg")));setPalette(pal);首先获得Widget的调色板,然后设置设置调色板背景(setBrush),最后将调色板设置到Widget中。2.在paintEvent事件中绘制图片void Wid..

2021-02-04 15:54:49 8054

原创 Qt 之 加载QSS样式表

Qt 之 加载QSS样式表1、新建QSS文件     首先,新建一个后缀名为qss的文件,例如:Style.qss,将其加入到资源文件(qrc)中。2、编写QSS文件QWidget { color:blue; font-family:"微软雅黑"; font-size:12px;}3、加载QSS文件    为了方便调用,在main.cpp中可以写一个静态加载样式的函数#incl

2021-02-04 15:14:33 680

原创 Qt下QString与int 之间相互转换

QString与int 之前相互转换:1、QString 转intQString str("100");int tmp=str.toInt();2、int 转QStringint tmp =100;QString str=QString::number(tmp);

2021-01-23 11:31:20 2382

原创 windows下Qt中文乱码问题解决方法

windows下Qt中文乱码问题解决方法:使用函数 QStringLiteral("中文");例如:edt1->setText(QStringLiteral("我是中文显示"));

2021-01-23 11:20:05 158

转载 socket编程 -- epoll模型服务端/客户端通信实例案例2

socket编程 – epoll模型服务端/客户端通信实例案例2实现如下功能:        支持多客户端与一个服务端进行通信,客户端给服务端发送字符串数据,服务端将字符串中小写转为大写后发送回客户端,客户端打印输出经转换后的字符串。例如:发送asdf,打印输出ASDF服务器端代码:/*server.c*/#include <stdio.h>#include <stdlib.h>#in.

2020-10-30 16:37:23 140

原创 socket编程 -- epoll模型服务端/客户端通信的实现

多路I/O复用之epoll1、epoll简介     epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。2、epoll 常用函数   epoll使用过程中,经常使用以下3个函数:in.

2020-10-30 10:56:13 260

原创 Linux网络编程之五种IO模型小结

Linux网络编程之五种IO模型小结     一、五个I/O模型阻塞I/O非阻塞I/OI/O复用(select、poll、epoll)信号驱动I/O异步I/O1.1 阻塞I/O模型最流行的I/O模型是阻塞I/O模型,缺省时,所有的套接口都是阻塞的。1.2非阻塞I/O模型我们把一个套接口设置为非阻塞方式时,即通知内核:当请求的I/O操作非得让进程睡眠不能完成时,不要让进程睡眠,而应返回一个错误应用程序连续不断地查询内核

2020-10-30 10:02:27 61

原创 使用线程实现QQ聊天

使用多线程实现QQ聊天#include#include<unistd.h>#include<stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include<string.h>#include<arpa/inet.h>#include <pthread.h>#include#define SERVE

2020-10-20 23:23:08 134

原创 线程中的几个常用函数参数说明

线程中的几个常用函数参数说明线程的基本概念:在一个程序里的多个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”;一个进程至少都有一个执行线程;进程是资源分配的基本单位,线程是调度的基本单位 ;线程中用到的几个重要的函数:pthread_create(); //作用:创建一个新的线程int pthread_create(pthread_t *thread,pthread_attr_t *attr,void*(*start_routine)(void*),

2020-10-20 19:57:26 572 1

原创 Linux网络通信—Socket(TCP实现)

Linux网络通信—Socket(TCP实现)一、socket概述为了简化开发通信程序的工作,由Berkely学校开发了一套网络通信程序的API函数标准。二、SOCKET分类流式套接字(SOCK_STREAM)流式的套接字可以提供可靠的、面向连接的通讯流。它使用了TCP协议。TCP 保证了数据传输的正确性和顺序性。数据报套接字(SOCK_DGRAM)数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠,无差错。使用数据报协议UDP协议。原始套接字原

2020-10-02 16:33:04 368

原创 Linux系统编程—共享内存

Linux系统编程——共享内存前言: 共享内存允许两个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。1、共享内存概述:共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可以把同一段共享内存段“连接到”它们自己的地址空间里去。所有进程都可以访问共享内存地址,就好像它们是有malloc分配的一样。如果一个进程向这段共享内存写了数据,所做的改动会立刻被有权访问同一段共享内存的其他进程看到。

2020-09-28 14:16:53 90

原创 Linux系统编程—消息队列

Linux系统编程—消息队列1、消息队列相关函数// 创建和获取 ipc 内核对象int msgget(key_t key, int flags);// 将消息发送到消息队列int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);// 从消息队列获取消息ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);// 查看、

2020-09-28 11:01:17 114

原创 Linux 下匿名管道的文件读写

Linux 下匿名管道的文件读写操作平台:Ubuntu 12.04 匿名管道用在父子进程之间,父进程向管道中写数据,子进程从管道中读出数据代码如下:#include<iostream>#include<stdio.h>#include<string.h>#include <unistd.h>using namespace std;int main(){ int pipefd[2];//匿名管道描述符 pipefd[0] 读 pip

2020-09-23 14:54:57 185

原创 Linux 下有名(命名)管道文件读写操作

Linux 下有名(命名)管道文件读写操作操作平台:Ubuntu 12.04 有名管道1、查看命令:man 3 mkfifo2、头文件:#include <sys/types.h>#include <sys/stat.h>3、函数原型:int mkfifo(const char *pathname, mode_t mode);a、*pathname:有名管道的名字 例如:/home/whb/projectsb、 mode:八进制的权限, 例如:07774、返回值:成

2020-09-23 14:12:33 1155 2

原创 linux 系统调用实现文件拷贝

linux 系统调用实现文件拷贝copyfile程序如下:#include<iostream>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <dirent.h>#include <unistd.h>#include&l

2020-09-14 10:35:28 938

原创 c语言之strlen()与sizeof()的区别

strlen()与sizeof()的区别:strlen()为C字符串库函数,返回字符串的真实长度。它是从内存某位置开始扫描,知道碰到结束符'\0'停止,返回计数器的值。sizeof()为操作符,返回的是变量声明后"占用"的内存大小,可能不是实际大小。int num;    sizeof(num); 返回num占用内存大小。也可写作sizeof num (当后面是变量名时,可不加括号。)    sizeof(int); 返回int型数据占用内存大小。(当后面是类型名时,一定要加括号。)例子:

2020-09-08 10:40:39 54

原创 Git的使用

一、下载Git官网:https://git-scm.com/download/选择要下载的版本:等待下载完成,双击exe程序,一直点击下一步,直到安装完成;安装路径最好是在英文路径下。二、Git的使用1、在安装好后,首次使用需要先进行全局配置,桌面空白处右键,点击“Git Bash Here”打开Git命令行窗口:这里输入2条命令。其中,用户名、密码最好和Github上注册的一样。git config --global user.name "用户名"git config --globa

2020-09-04 15:03:31 74

vs2019的插件,粒子特效

vs2019小插件

2022-08-08

cmder 让你的终端更好看

cmder是一个软件工具包,弥补了windows缺少好看的终端的遗憾。此外还加入了Monokai色彩方案和自定义提示布局,看起来是一个不错的终端模拟器。

2021-08-13

mfc中文开发手册.7z

mfc中文开发手册.7z

2021-07-27

PowerMode.vs2015/vs2017

PowerMode.vs2015/vs2017

2021-05-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除