自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ocean

点滴进步

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 windows上vcpkg install openssl失败后手动nmake编译安装openssl

vcpkg install openssl失败,手动nmake编译安装openssl

2024-05-14 09:05:03 279 1

原创 SkiaSharp使用SKCanvas.DrawText绘制2D文本时部分字符渲染位置异常。

wpf项目使用RickTextKit优化SkiaSharp二维文本的渲染显示

2024-03-19 15:53:12 228

原创 ObservableCollection使用Clear时CollectionChanged内e.OldItems中为null

C# ObservableCollection OldItems

2024-03-18 14:13:27 361

原创 WPF RichTextBox 使用Paragraph显示富文本(角标小数字)

WPF中RichTextBox使用Paragraph显示角标小数字

2024-03-13 16:25:14 589

原创 WPF DataTemplate内重写BorderBrush,VisualBrush内数据源绑定提示绑定失败

DataTemplate 下VisualBrush数据绑定异常

2024-02-01 16:46:15 811

原创 利用std::bind和std::function实现对象间通信

利用std::bind和std::function实现对象间通信C++11中利用bind和function,同一个类的不同对象可以委托给不同的实现,从而实现不同的行为。示例代码如下:class Widget{public: Widget() { //event_widgetCreated(); } ~Widget() { if (event_widgetDestro...

2019-01-29 14:15:43 2504

原创 Qt Widget封装左图标右文本的图片按钮 IconButton

如上图所示,受移动端界面设计的影响,pc客户端上的界面设计也越来越多的出现类似的界面,传统的QPushButton和QToolButton,无论是添加image还是添加icon,都无法满足这样的UI设计需求,退而求其次,只能用QWidget自行封装。封装的基本思路是以QPushButton为父widget,上面添加水平布局layout,然后再放两个QLabel,左边用于显示图片,右边用于显...

2018-08-27 15:07:31 2124

原创 std::string与char*之临时缓冲区

c++文件读取流程如下:ifstream ifs(srcFile, ifstream::binary);if(ifs.is_open()){ ifs.seekg(0, ifs.end); long filesize = ifs.tellg(); ifs.seekg (0); char* fileBuffer = new char[filesize];...

2018-06-14 10:34:43 1800

原创 命令行程序重定向输出到文本文件

在程序调用windows api启动命令行程序,并且重定向输出到文本文件 如,在cmd中输入 :systeminfo > systeminfo.txt下面是在C/C++程序中处理整个流程:CString outputFile = "systeminfo.txt"; SECURITY_ATTRIBUTES sa = { sizeof(sa), NULL, TRUE ...

2018-06-11 18:41:32 3035

原创 C++ Dll导出类中暴露std::string 等类型时爆出“warning C4251”警告的处理

C++ 在编写Dll时需要导出类给外部调用,如果在导出类中出现std::string或其他STL类型,通常会爆出下面的warning简单的导出类定义如下:class __declspec(dllexport) TestDll{public:    TestDll(const char* data);    ~TestDll();    void test();private:    ...

2018-06-07 18:46:01 4374 1

原创 自己用的Visual Studio 2013扩展插件

1.ClaudiaIDE,添加编辑器背景图片.2.Go To Definition,Make ctrl+click perform a "Go To Definition" on the identifier under the cursor.3.Productivity Power Tools 2013,微软官方出品。4.Switch,源文件和头文件切换。5.Visual ...

2018-03-09 09:15:44 2995 1

原创 多屏幕下Qt获取程序所在屏幕的位置

用QtBrowserplugin开发的ActiveX组件,在IE网页和WPF桌面客户端中使用。在机器接双显示器的情况下,弹出以屏幕为基准的窗体时,可用如下方法进行操作:1.获取activeX窗口在桌面上的绝对位置2.通过此绝对位置获取activeX窗口所在屏幕上的几何坐标信息3.计算目标位置时需要加上屏幕的偏移示例代码如下://this为ActiveX组

2018-01-26 15:53:06 8351

原创 Linux下Gitbook生成pdf及中文问题的解决

Linux下Gitbook生成pdf安装 Calibre sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.st

2017-12-06 14:50:00 2792 1

原创 win高分屏下Qt程序的界面适配处理

在高分屏的设备内,如果程序没有进行适配,那么界面就会太小而看不清楚,而且系统显示比例的缩放对程序也不生效。下面是Qt程序界面显示适配系统缩放的一种解决方法。首先,获取windows系统的像素密度,也就是DPI// Get desktop dcdesktopDc = GetDC(NULL);// Get native resolutionhorizontalDPI = GetDevic

2017-08-17 14:40:09 9751 2

原创 QComboBox下拉列表样式美化定义

Qt Assistant中官方提供的脚本定义样例如下:QComboBox { border: 1px solid gray; border-radius: 3px; padding: 1px 18px 1px 3px; min-width: 6em;}QComboBox:editable { background: white;}QCombo

2017-03-22 09:35:55 15054 4

原创 C# winform 高效绘图

最近工作中需要给一个网络视频会议c++ sdk编写winform客户端 demo,其中的有个功能为电子白板,初步了解下C#绘图相关的基础知识。由于在绘制连续点组成的曲线时鼠标移动的速度非常快,所以要考虑效率,否则会漏掉很多点,导致曲线不够自然。绘图使用的组件为 PictureBox ,变量名为 pictureBox_draw。  基本思路是在PictureBox上绘制过程(

2017-03-17 17:22:36 7738 1

原创 vs调试时提示:源文件与模块生成时的文件不同 的原因之一

vs调试时提示“源文件与模块生成时的文件不同……”,各种尝试,最后发现是文件编码的问题。源文件原来是GB2312编码,转为UTF8-BOM后断点调试正常。具体原因不知,猜测可能是源文件内有特殊字符导致。

2017-03-06 16:45:29 2514

原创 QListWidget上item点击出现白色小框的问题

项目背景:qt5.4 widget安卓手机上widget项目listwiget上item内放入widget后,点击item选中时widget上会出现一个白色的小框,需要设置item的flags属性即可this->setFlags(Qt::NoItemFlags);//防止item点击时出现选中的白色边框

2017-02-09 12:55:38 2584 2

原创 Qt Creator 使用技巧之提高编译速度【使用jom参数】

环境:win10, Qt 5.4.1项目: Qt for AndroidQt Creator 在编译android时不支持预编译,默认cpu单核编译,工程稍大一点导致编译过程极其缓慢,影响效率。不过Qt Creator自带了多核编译工具支持,只是没有默认开启,需要自己在项目中进行配置才能生效。步骤如下【以本机和项目为例】:1.查看是否已经安装了jom工具:C:\Qt\Qt5.4

2016-09-21 09:21:58 12359 2

原创 Qt QScrollBar qss 美化样例

/垂直滚动条/ QScrollBar:vertical{ width:12px; border:1px solid rgba(0,0,0,50); margin:0px,0px,0px,0px; padding-top:15px; padding-bottom:15px; } QScrollBar::handle:vertical{

2015-06-25 09:52:52 6503

原创 VS(visual studio 2008 )设置工程引用文件和包含文件

项目开发中经常会用到第三方接口或者是类库。设置方法如下:1.头文件(.h)文件:属性 -> 配置属性 -> C/C++ -> 附加包含目录如下:.\GeneratedFiles;"$(QTDIR)\include";".\GeneratedFiles\$(ConfigurationName)";"$(QTDIR)\include\qtmain";"$(QTDIR)\

2014-12-19 20:08:34 2330

原创 qt designer 启动失败

环境:VS2008,Qt4.8.5,windows 7Qt desi

2014-11-01 10:44:01 1236

原创 多重继承类构造函数的声明

class CTimeType //定义时间类{};class CDateType //日期类{};class CDateTimeType:public CDateType,public CTimeType//时间日期类{ CDateTimeType(int mon,int d,int y,int h,int m,int s); //类中声明}; //类外实

2012-11-16 22:09:09 900

原创 关键字:c++builder(BCB) C# WebService EAccessViolation

操作系统环境:windows server 2003 bcb 调用C#写的webservice时报错:EAccessViolation解决方法(之一):修改数据执行保护(DEP)具体步骤如下:我的电脑,右键属性,高级,性能,设置,数据执行保护,为除下列选定程序之外的所有程序和服务启动DEP,添加应用程序,机器可能需重启。

2012-11-12 21:54:20 1295 3

原创 获取数据库中某个表的所有字段

例如有数据表 'register' declare @a varchar(2000)set @a= ''select @a = @a + name + ',' from syscolumns where object_id('register') = idprint @a select name from syscolumns where object_id('regi

2012-10-23 08:57:55 674

原创 因为数据库正在使用,所以无法获得对数据库的独占访问权

方法一:更改数据库状态USE Master ALTER DATABASE [XXX] SET OFFLINE-- sql do somethingALTER DATABASE [XXX] SET OnLINEuse XXX 方法二:杀掉数据库进程declare @dbname varchar(20)set @dbname='XXX'declare @sql

2012-09-12 16:56:09 593

转载 char,varchar,nvarchar,text.......

很多开发者进行数据库设计的时候往往并没有太多的考虑char, varchar类型,有的是根本就没注意,因为存储价格变得越来越便宜了,忘记了最开始的一些基本设计理论和原则,这点让我想到了现在的年轻人,大手一挥一把人民币就从他手里溜走了,其实我想不管是做人也好,做开发也好,细节的把握直接决定很多东西。当然还有一部分人是根本就没弄清楚他们的区别,也就随便选一个。在这里我想对他们做个简单的分析,当然如果有

2012-09-11 15:53:02 371

BCB 简易计算器源码

一个简易计算器源代码,用c++builder 写成……

2010-07-16

空空如也

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

TA关注的人

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