自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sang_12345的博客

谢谢您的来访。

  • 博客(254)
  • 收藏
  • 关注

原创 OpenGL环境配置

使用CMake配置OpenGL环境

2023-03-04 23:22:06 724 1

原创 C++可变参数模板

C++可变参数模板

2023-01-04 09:21:18 220

原创 Qt多线程简单使用

qt多线程的简单实用

2022-12-29 10:32:38 300

原创 QThread的简单实用

QThread的简单使用

2022-12-29 10:15:25 128

原创 Qt拖动窗口中的图片

Qt拖动图片在视窗内移动

2022-12-28 10:19:00 147

原创 Qt汉化QColorDialog窗口

QColorDialog汉化

2022-10-14 11:18:40 1558

原创 QPushbutton的hover悬空状态失效

QPushubutton的悬浮伪状态失效或者丢失

2022-10-13 14:10:56 3098

原创 QLabel图片居中无拉伸

QLabel图片居中无拉伸

2022-10-10 10:28:51 2074

原创 github不能ping通的解决方式

ping不通github的解决方式

2022-09-15 13:51:13 3012 2

原创 Git上传项目到Github

将本地项目上传到github上

2022-09-09 16:42:42 610

原创 typedef struct在C和C++中的区别

typedef struct在C和C++中的区别

2022-08-15 18:07:10 648

原创 QPaintDevice::metrics: Device has no metric information

QPaintDevice::metrics: Device has no metric information

2022-08-15 15:41:02 1439 3

原创 Ubuntu20.04安装记录

安装Ubuntu

2022-07-25 15:12:21 907

原创 monailabel Installation

ubuntu上安装monailabel

2022-07-21 16:13:57 866 2

原创 Ubuntu安装conda

期间有ENTER的地方可以直接回车,遇到MORE信息,可以摁Q键跳过,遇到需要输入yes|no的地方输入yes即可。即可直接从清华镜像网站上下载anaconda安装包,视情况选择自己的版本,我选择的是2021.11版本。3.安装完成后关闭终端重新打开终端,输入conda--version。在ubuntu中ctr+alt+t打开终端,输入。1.下载Anaconda安装包。2.安装包下载完成之后键入。如果有版本输出则安装成功。......

2022-07-15 10:08:03 26181 3

原创 计算迭代器之间的距离

1.函数:distance(begin,end); //计算迭代器begin和迭代器end之间的距离;

2022-06-07 17:06:18 731

原创 C++多线程

线程创建1.C++11的标准库中的多线程库 #include<thread>2.创建线程的格式 : 关键字thread 线程名(入口函数,入口函数的参数);若入口函数参数比较多,按照顺序往后写,用英文逗号隔开。3.子线程开始运行的两张方式:join() 子线程阻塞主线程,子线程运行完之后,主线程再次开始运行; detach() 主线程和子线程同时运行,如果主线程需要使用子线程的数据,在用到子线程数据的地方,子线程还没有运行结束,那么这个时候主线程使用的数据还是子线程最初的数

2022-05-31 12:56:18 1611

原创 CMake编译Slicer遇到Qt版本错误

问题描述:Qt 5.6.0 was not found on your system.You probably need to set the Qt5_DIR variable;注意这个Qt5_DIR,如果无效的话就手动修改成自己本地的qt版本位置;

2022-05-30 11:32:39 666 1

原创 Static总结

静态全局变量静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的。而全局变量是不显式用 static 修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过 extern 全局变量名的声明,就可以使用全局变量。 未经初始化的静态全局变量会被程序自动初始化为0(在函数体内声明的自动变量的值是随机的,除非它被显式初始化,而在函数体外被声明的自动变量也会被初始化为 0);静态局部变量静态局部变量静态局部变量一般在声明处初始化,如果没

2022-03-29 10:50:12 2774

原创 VS添加QT资源显示文件位置无效

1.对Resources右键->添加->新建项2. 选择Qt Resource File,并选择qrc所在的项目路径3.创建成功之后,在所在项目路径下会有一个qrc文件4. 接下来就可以在qrc中用Add Files添加图片资源了...

2022-03-08 13:20:35 1731

原创 设计模式--责任链模式(C++)

责任链模式就是对一批请求进行判断,是自己责任范围内的就处理,不是自己责任范围内的就传递给下一个负责人;比如有三个项目经理,顺序是A->B->C,把所有的项目都先传递给A,A拿到所有的项目后,把属于自己负责的项目留下来,把剩下的传递给B,然后B把属于自己的留下来,把不属于自己的再传递给C;1.请求者接口基类#pragma once#include <string>using namespace std;class Female{public: Female(voi

2022-02-15 11:15:11 735

原创 设计模式--观察者模式(C++)

观察者模式就是观察者根据被观察者的行为做出自己行为的模式,最多允许一个对象既是观察者也是被观察者;以小明为被观察者,班长和老师为观察者为例;

2022-02-14 17:10:44 915

原创 设计模式--命令模式(C++)

命令模式就是外界把命令告诉中间枢纽,然后由中间枢纽根据命令的不同,指派给相应的部门去完成;就像客户把要求告诉产品经理,然后产品经理根据客户不同的命令,把这些命令分给需求组、美工组、研发组去完成;客户直接与客户经理对接,而不与需求组、美工组、研发组直接对接;1.部门基类#pragma onceclass Group{public: Group(); virtual ~Group(); virtual void AddAction() = 0; virtual void ChangeAc

2022-02-14 14:14:50 501

原创 设计模式--抽象工厂模式(C++)

抽象工厂可以理解为简单工厂模式和工厂方法模式的结合,抽象工厂模式拥有多个工厂,每个工厂又可以生产多种产品;可大致理解为简单工厂模式是一个工厂,自己一对多;工厂方法模式是多个工厂,每个工厂一对一;抽象工厂模式是多个工厂,每个工厂一对多;1.产品接口Human#pragma onceclass Human{public: Human(); virtual ~Human(); virtual void character() = 0; virtual void Sex() = 0;pri

2022-02-13 13:03:28 990

原创 设计模式--工厂方法模式(C++)

简单工厂模式只有一个工厂,这个工厂生产不同的产品;而工厂方法模式里可以拥有多个工厂,每个工厂负责一种产品的生产;1.产品基类#pragma onceclass Human{public: Human(); ~Human(); virtual void Skin() = 0;private:};Human::Human(){}Human::~Human(){}2.产品子类1#pragma once#include "Human.h"#include

2022-02-13 10:13:44 684

原创 设计模式--简单工厂模式(C++)

工厂模式中定义一个创建产品的接口(比如:creatHuman(std::string HumanType)这个函数),将实际创建工作推迟到子类中。这样可以使系统在不修改具体工厂角色的情况下创建不同新的产品。1.产品基类(Human)#pragma onceclass Human{public: Human(); ~Human(); virtual void Skin() = 0;private:};Human::Human(){}Human::~Human(){}

2022-02-13 09:31:16 482

原创 设计模式--单例模式(C++)

设计模式--单例模式

2022-02-12 17:10:37 479

原创 设计模式--代理模式(C++)

代理模式中的代理和执行者继承于同一个父类,先将执行者传递给代理人,然后代理人去调用实际执行者的行为;1.父类#pragma onceclass Women{public: Women(); virtual ~Women(); virtual void SeeMovieWithMan() = 0;private:};Women::Women(){}Women::~Women(){}2.代理人#pragma once#include "Women.h"

2022-02-12 14:33:49 468

原创 设计模式--策略模式(C++)

简介:一个策略对应一个锦囊;当用的时候,找到这个锦囊,从锦囊里拿出策略来使用。注意:锦囊只是简单的装载和调用策略,锦囊里没有逻辑。策略会有更大的自主权,运行更多的逻辑。实现:策略作为一个父类,具体的策略行为在子类中实现;锦囊作为具体策略的容器,在其构造函数中传入我们具体的策略;1.父类策略#pragma onceclass Strategy{public: Strategy(void); virtual ~Strategy(void); virtual void MyStrate

2022-02-12 14:16:20 583

原创 STL--全排列函数

1.函数 std::next_permutation(first, last)2.用法的前提下是序列在有序的情况下;#include <algorithm>#include <string>#include <iostream>int main(){ std::string s = "abc"; std::sort(s.begin(), s.end()); do { std::cout << s ..

2022-01-16 12:59:03 618

原创 Qt-Qpushbutton的常见注意事项

pressed 当鼠标指针在按钮上并按下左键时触发该信号released 当鼠标左键被释放时触发该信号clicked 当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号clicked[bool] 当按钮被第一次按下然后释放时发出信号,并将当前状态传递给外界toggled[bool]按钮的状态发生变化时发出信号,并将当前状态传递给外界toggled 当按钮的标记状态发生改变时触发信号...

2021-12-30 15:36:32 2216

原创 Qt--qss自定义样式表注意事项

1.一般句法格式QPlainTextEdit{ font:12pt "仿宋"; color:rgb(255,255,0); background-color:rgb(0,0,0);}2.选择器的ID模式语法:QPushButton#okButton //作用于对象名称为okButton的所有QPushButton实例。实际开发过程中遇到的问题:#自定义UI的objectName空格#UI下的具体控件的objectName{}例如:#qSlicerGLRegis.

2021-12-15 17:01:49 569

原创 VS2019 QT打开ui文件闪退的解决方式

1.右键我们的ui文件,选择打开方式2.点击添加,在程序后面选择我们的designer.exe,选择我们QT安装位置的designer.exe,我自己本地的是D:\Qt\5.15.2\msvc2019_64\bin\designer.exe3. 然后将Qt Designer设为默认值,点击确定4.再次打开我们的ui文件,不会闪退...

2021-12-09 15:26:39 1304 1

原创 3DSlicer建立C++插件步骤

1.打开3D Slicer,点击Welcome to Slicer-->Developer Tools-->Extension Wizard.2.点击Create Extension3.创建插件的名字以及选择插件的存放位置,点击OK之后会在我们的存放位置路径下自动成一个以插件名字命名的文件夹。例如我的插件名字是MyExtension,存放位置是D:\SlicerDemo,点击OK之后,我们就会在D:\SlicerDemo路径下创建一个MyExtension命名的文件夹,具体表现.

2021-12-09 10:41:47 2544 10

原创 Qt--滑动组件&显示组件

//头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = nullptr); ~Widget();private s...

2021-12-08 09:50:39 598

原创 Qt--画图

//头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = nullptr); ~Widget();protected: .

2021-12-07 08:43:36 922

原创 Qt--事件过滤器

//头文件#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>#include<QEvent>#include<QKeyEvent>QT_BEGIN_NAMESPACEnamespace Ui { class myWidget; }QT_END_NAMESPACEclass myWidget : public QWidget{ Q_OBJECTpublic: myWid.

2021-12-06 15:04:58 451

原创 Qt--事件的接收和忽略

//自定义按钮控件//头文件#ifndef MYBUTTON_H#define MYBUTTON_H#include <QPushButton>class myButton : public QPushButton{ Q_OBJECTpublic: explicit myButton(QWidget *parent = nullptr);protected: void mousePressEvent(QMouseEvent *e);signal.

2021-12-06 13:41:47 875

原创 Qt--事件

//头文件#ifndef MYLABEL_H#define MYLABEL_H#include <QLabel>#include<QMouseEvent>#include<QEvent>class myLabel : public QLabel{ Q_OBJECTpublic: explicit myLabel(QWidget *parent = nullptr);protected: void mousePressEven.

2021-12-06 10:52:37 448

原创 Qt--控件的使用 && 自定义控件

使用Ui设计的样子:代码运行后的情况,红色框里全为自定义的控件:第一行自定义的控件:具体操作就是在ui设计的相应位置放置一个Widget容器,右键Widget将其提升为我们自己定义的控件类。//头文件#ifndef DIYWIDGET_H#define DIYWIDGET_H#include <QWidget>class DiyWidget : public QWidget{ Q_OBJECTpublic: explicit DiyWidge

2021-12-03 15:13:12 780

空空如也

空空如也

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

TA关注的人

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