- 博客(247)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 QT自定义控件类,无法获取真实宽度和高度
2、若还是不行,可以重写qwidget的showEvent事件,然后在触发信号,在接受信号事件中,获取宽度。当我new一个如上的自定义控件类,并设置m_label的text时,然后我尝试获取m_label的宽度。对QWidget进行布局,手动添加一个QVBoxLayout。这时获取宽高就能正常了。1、qwidget下面直接放了一个label,没有进行布局,导致的。自定义控件类,无法获取真实的高度和宽度。结果发现,实际宽度和获取的宽度有明显的偏差。
2023-05-11 19:52:02 891 1
原创 QT自定义类中setStyleSheet设置样式无效
然而写在自定义类LNTextEdit中构造函数的这句setstylesheet,是被上图这句setstylesheet给覆盖了,因为是写在了构造函数中,先执行了构造函数,再执行下面的这句setstylesheet。最右方的返回红色按钮其实是可以点击的 ,也就是说确实该动过ui文件中textedit的stylesheet属性,导致在自动生成 ui->setupUi(this);这样就能保证不在setupui方法中,自动设置stylesheet了,也保证了在自定义类中的setstylesheet不被覆盖了。
2023-03-29 11:29:02 3297
原创 QT新增自定义控件类并在QT Designer中将系统父类替换
qt中经常会遇到系统提供的UI控件类无法满足使用要求,因此需要自定义相关的类。一般步骤为:创建自定义类,继承系统类。此时分为两种情况,若是直接在cpp中书写布局的方式,那么直接使用该自定义类即可。若是以及在qt designer中布局好了,那么需要通过修改qt designer中的类来达到目的,本文主要阐述这种方式。
2023-03-21 15:27:39 2155
原创 Qt Designer中如何添加QSplitter
Qt中新增QSplitter如何新增:在qt designer(设计器)中,在控件工具箱中是无法找到这个qsplitter的。操作步骤:1、需要选中要被增加到splitter的两个控件,注意是同时选中2、然后右键菜单->布局->使用拆分器水平布局。
2023-03-17 14:38:18 4044 2
原创 QtCreator 快捷键问题记录
在QtCreator ->Options->Environment->Keyboard中可以找到所有的快捷键,根据自己的需求搜索。否则不点击这个Record,然后输入是无效的。这个可以设置成自己想要的任意快捷键,我是设置成了Command+Shift+E。一般来说QtCreator的快捷键和设置项在windows下也是一样的。这个只有折叠光标所在方法或者代码块的快捷键,为Command +
2023-03-13 23:41:21 593
原创 QT QTextEdit 修改默认的行间距
2、可以在设置setHtml的时候,将文本包在一个html标签中,通过解析html来达到效果。qtextedit 如何修改默认的行间距?
2023-03-11 17:45:58 3115
原创 C++指针使用问题记录
nullptr是一个关键之,c++11引入的,无脑建议将指针初始化为nullptr,因为nullptr可以代表int*,double*,void*等任何含义。将指针初始化为NULL不是很好,除非你的C++版本没有到11。NULL是c++98的,其实就是define 0。一、指针变量建议初始化为nullptr。
2023-03-10 12:31:18 96
原创 C++ for循环警告:Missing reference in range-for with non trivial type (QString)
在qtcreator 中写了一个for循环,提示警告:Missing reference in range-for with non trivial type (QString)
2023-03-06 15:01:27 771
原创 C++ 指针传参,函数内修改指针不影响实参
C++ 按指针传值的方式当我们使用指针传参的时候,会从实参拷贝一份对象到形参,二者是不同的指针,但是指向同一块地址。
2022-12-26 00:28:01 1097
原创 WPF 弱事件模式简介
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Forms;namespace weakEven.
2022-05-21 14:31:28 296 1
原创 WPF 触发器(通过A控件的属性改变,通知B控件发生改变)
<Window x:Class="TriggerDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" .
2021-09-02 21:49:11 2403
原创 设计模式之六大原则理解
1.开放-关闭原则对扩展开放,对修改关闭,简称开闭原则。对软件实体(类,函数,模块等)应该是可以扩展,但是不可修改这个原则是核心,其他的的设计模式和原则最终都为了达成这个目标,即让新增的需求能快速简单的做完,同时不影响线上其他功能的正常运行例子:2.单一职责原则一个类应该仅有一个引起它变化的原因,或者说只负责做一件事情3.单一职责原则告诉我们实现类要职责单一; 里氏替换原则告诉我们不要破坏继承体系; 依赖倒置原则告诉我们要面向接口编程; 接口隔离原则告诉我们...
2021-03-09 01:06:39 501
原创 WPF使用ObservableCollection<T>来绑定ItemControl类容器 例子
一.新建Model,User.cs类,继承INPC接口 public class User : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private string _age; public string Age { get { return _age; } ...
2021-01-24 23:36:21 664
原创 WPF INotifyPropertyChanged 使用实现MVVM例子
XAML代码:<Window x:Class="WpfMVVM.MainWindow" Title="MainWindow" Height="450" Width="800"> <StackPanel > <TextBlock Text="用户名:" /> <TextBlock Text="{Binding UserName}" Margin="0,20"/> <T...
2021-01-24 23:20:10 474 1
原创 Qt Creator 常见问题记录
1. 资源文件不显示由于不小心删除了工程目录中的qrc文件,重新加回去后,发现项目树中Resources不见了,如下图,图中是显示的:解决办法:选择项目右键,清除。再重新缩放项目,即可看到。2.多个项目,如何选择某个项目作为启动项VS中可以右键直接选择某个项目作为启动项,Qt Creator中则没办法这么做只能右下角选择具体项目,如下图:3.无法启动项目删除目录中的buildxxxxx-Desktop_Qt_5_9_2_MinGW_32bit-Deb...
2021-01-11 23:54:07 1584
原创 QTCreator包含多个子项目&如何将cpp/h源代码按文件夹分类
本文基于Qt Creator 4.4.1类似于VS中的sloution 解决方案,一个sln下面可以有多个项目,类似于QtClient (启动项), QtStdCore(数据核心库),QtSdk(公共库),这样项目层次清晰,便于管理那么Qt Creator中如何做到这一点呢1.创建子目录项目2.添加子项目3.添加现有项目...
2021-01-11 23:46:59 3619 3
原创 QT 添加图片资源 显示图片
本文基于QT Creator4.4.1一.在QT中如何显示图片比如在一个QLabel上显示一个图片MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this); QString filename("E:\\image1.png"); QImage* img=new QImage; img->lo
2021-01-10 23:56:32 9764 3
原创 C++ 虚函数、纯虚函数、重载、重写的区别
C++中用virtual来表示虚函数Base.h头文件class Base{ virtual void SetA(int n); //虚函数 virtual void SetB(int n) = 0; //纯虚函数,用virtual和末尾=0来表示 virtual void SetC(int n) const = 0; //纯虚函数,const代表该函数不得修改成员变量的值public: int a = 1; int b = 2; int c = 3;
2020-12-24 16:08:19 5546 2
原创 WPF DrawingVisual 1像素的直线 如何避免抗锯齿导致的模糊效果
在WPF中用DrawingVisual 话直线的时候,往往会画出模糊的效果明明宽度设置成了1,但实际画出来的偏偏有两个像素,看起来有点模糊,这对于强迫症的人可忍不了!上代码:namespace OneLinePiexl{ public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); v
2020-10-08 17:44:34 1424
原创 VS 按F12 提示cannot navigate to the symbol under the caret 无法在插入符号下导航
选择一个类或者一个枚举,按F12, VS2019提示无法在cannot navigate to the symbol under the caret 就是无法跳转到该类的定义,可是明明这个类是已经实现的前两天还可以,忽然今天就不行了遇到这种情况,可以选择“清理解决方案” clean solution如果还是不行,那么可以选择删除项目目录下的 .vs 文件夹...
2020-09-17 10:02:40 1429
原创 C# 代码大小写规范
PasalCasing:标识符的第一个单词的字母大写;camelCasing:标识符的第一个单词的字母小写。下表描述了不同类型标识符的大小写规则: 标识符 大小写 示例 命名空间 Pascal namespace Com.Techstar.ProductionCenter 类型 Pascal public clas...
2020-08-25 10:42:10 5793
原创 WPF路由事件(冒泡事件和隧道事件)
隧道事件:在视觉树 从上往下,从window->实际源头,一般为被点击的控件。有preview标注的的都是隧道事件冒泡事件:在视觉树,丛下往上,点击的控件,一直到最上层(window)没有preview标注的的都是冒泡事件理解事件的触发顺序有助于我们更好的搭建程序结构举例代码如下:<Window x:Class="wpfpreview.MainWindow" xmlns="http://schemas.microsoft.com/wi...
2020-06-03 22:10:16 1150
原创 静态类型语言和动态类型语言的区别, 强类型和弱类型的区别,编译型和解释型,混合型语言的区别
静态类型语言在编译时就检查数据类型,比如:C,C++,JAVA,C#动态类型语言在运行时才确定数据类型,比如:JavaScript,php,Python,VBScript两者的区别是检查类型的时机不同强类型语言一个变量被指定了某个数据类型,如果不经过强制转换,那么它就就是这个数据类型了。强类型语言是类型安全的语言,如:java、.NET、C/C++也就是说,如...
2020-04-04 18:41:03 290
原创 C++ :: ->和.的区别
双冒号 ::作用域运算符双冒号 ::主要是两个1.命名空间作用域,用来注明所使用的类、函数属于哪一个命名空间的std::cout << "Hello World" << std::endl;std是命名空间,cout是一个类2.类作用域,用来标明类的变量、函数Human::setName(char* name);这个是声明类方法...
2020-03-29 22:39:37 186
原创 VS2019 如何创建C++/Cli程序
今天重新安装了VS2019,在创建页面愣是没找到C++/Cli的项目解决方案:默认安装是没有办法创建C++/Cli的在安装选择界面,选择单个组件输入Cli,勾选C++/Cli支持 的 其中一个,点击安装安装完后,可以看到已经有CLR项目了...
2020-03-21 22:16:16 4559
原创 C++ 错误 LNK1181 无法打开输入文件“xxxx.lib”
今天编译CefSharp源代码,报错如下错误 LNK1181 无法打开输入文件“libcef_dll_wrapper.lib” 解决方案:直接找到libcef_dll_wrapper.lib的所在路径,并让对应的项目引用该lib,重新编译即可如何引用?项目-右键属性->连接器->常规->附加库目录->编辑点击上方的添...
2020-03-19 21:09:18 39026 3
原创 C#反射报错:无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性
今天用反射报错:无法加载一个或多个请求的类型。有关更多信息,请检索 LoaderExceptions 属性报错代码如下:var Assembly.LoadFile(dllPath);var types =asm.GetTypes(); //这句报错了然后点击进去看Exception的详细信息:里面有一个属性是LoaderException, 点进去看到的是:”未...
2020-02-19 22:54:48 8459
原创 C#项目 生成操作中 嵌入的资源 如何读取
一.如何为C#项目添加资源选择项目,右键添加,新建项,选择资源文件然后双击Resoruce1.resx, 选择添加资源->添加现有文件选择要加入的文件,加入后,会在项目中出现一个Resources的文件夹,如下图可以看到出现了一个preview.jpg,这就是刚刚添加进来的图片,选择图片,右键->属性->生成操作->改为嵌入的资源...
2020-02-12 23:10:59 3009
原创 C# 报错 "xxx"的类型初始值设定项引发异常 (System.TypeInitializationException)
当报错 “xxx”的类型初始值设定项引发异常大多是因为:1.类的静态构造函数中异常了2.类的静态成员变量赋值异常了,如成员变量 赋值直接超出内存限制3.类的静态成员变量=函数(), 该函数报错了总结下就是:"xxx"这个类并没有被初始化成功public ClassHelpers{ public static string Name { get; } =...
2020-02-12 22:13:53 18181
原创 Github 配置SSH key 下载项目并关联
自己的github上有项目,用新的电脑想要下载并关联开发,如何操作?主要介绍ssh key的方式,ssh key 一旦配好了之后就一劳永逸了,前提是你是项目的拥有者https的话比较简单,但是每次提交下载的时候都需要输入密码,相对比较麻烦步骤:1.首先下载git2.打开git bash,输入ssh-keygen -t rsa -C xxxxxxxxx@xx.com邮...
2019-12-23 15:28:56 767
原创 C# 实现RSA AES加密解密
RAS:C#System.Security.Cryptography 提供了base64和xmlstring两种方式,我更喜欢base64的RSA是非对称加密,经典的对称加密就是DES,AES等,不过这两种算法的缺点是加解密双方都必须知道密钥,安全性不高RSA则可以解决这个问题,生成公钥和私钥,公钥可以公开给其他人,私钥自己保管,别人用公钥加密后,自己用私钥解密。...
2019-11-07 17:32:42 1822
原创 C# Lamada表达式详解
Lambda—— 表达式Lambda表达式是一个匿名函数,用它可以高效简化代码,常用作委托,回调Lambda表达式都使用运算符=>,所以当你见到这个符号,基本上就是一个Lambda表达式Lambda运算符的左边是输入参数(),=>,右边是表达式或语句块Lambda表达式,是可以访问到外部变量的可以将此表达式分配给委托类型仔细分析ladama...
2019-09-28 21:50:33 1350
java swing+socket实现多人聊天程序
2018-11-14
QT 一运行就报错 提示程序异常结束
2020-12-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人