Qt开发经验小技巧11-20】的更多相关文章

Qt中的QColor对颜色封装的很完美,支持各种转换,比如rgb.hsb.cmy.hsl,对应的是toRgb.toHsv.toCmyk.toHsl,还支持透明度设置,颜色值还能转成16进制格式显示. QColor color(255, 0, 0, 100); qDebug() << color.name() << color.name(QColor::HexArgb); //输出 #ff0000 #64ff0000 QVariant类型异常的强大,可以说是万能的类型,在进行配置文件…
很多人问Qt嵌入式平台用哪个好,这里统一回答(当前时间节点2018年):imx6+335x比较稳定,性能高就用RK3288 RK3399,便宜的话就用全志H3,玩一玩可以用树莓派香橙派. 对于大段的注释代码,建议用 #if 0 #endif 将代码块包含起来,而不是将该段代码选中然后全部 // ,下次要打开这段代码的话,又需要重新选中一次取消,如果采用的是 #if 0则只要把0改成1即可,效率大大提升. Qt打包发布,有很多办法,Qt5以后提供了打包工具windeployqt(linux上为li…
如果使用sqlite数据库不想产生数据库文件,可以创建内存数据库. QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(":memory:"); 清空数据表并重置自增ID,sql = truncate table table_name. Qtchart模块从Qt5.7开始自带,最低编译要求Qt5.4.在安装的时候记得勾选,默认不勾选.使用该模块需要引入命名空间. #in…
代码判断MSVC编译器版本. if (_MSC_VER == 1800) MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) MSVC++ 9.0 _M…
在我们使用QList.QStringList.QByteArray等链表或者数组的过程中,如果只需要取值,而不是赋值,强烈建议使用 at() 取值而不是 [] 操作符,在官方书籍<C++ GUI Qt 4编程(第二版)>的书中有特别的强调说明,此教材的原作者据说是Qt开发的核心人员编写的,所以还是比较权威,至于使用 at() 与使用 [] 操作符速度效率的比较,网上也有网友做过此类对比.原文在书的212页,这样描述的:Qt对所有的容器和许多其他类都使用隐含共享,隐含共享是Qt对不希望修改的数据…
在某些http post数据的时候,如果采用的是&字符串连接的数据发送,中文解析乱码的话,需要将中文进行URL转码. QString content = "测试中文"; QString note = content.toUtf8().toPercentEncoding(); Qt默认不支持大资源文件,比如添加了字体文件,需要pro文件开启. CONFIG += resources_big Qt中继承QWidget之后,样式表不起作用,解决办法有三个.强烈推荐方法一. 方法一:设…
如果出现Z-order assignment: is not a valid widget.错误提示,用记事本打开对应的ui文件,找到为空的地方,删除即可. 善于利用QComboBox的addItem的第二个参数设置用户数据,可以实现很多效果,使用itemData取出来. 如果用了webengine模块,发布程序的时候带上QtWebEngineProcess.exe+translations文件夹+resources文件夹. a.setAttribute(Qt::AA_NativeWindows…
获取类的属性 const QMetaObject *metaobject = object->metaObject(); int count = metaobject->propertyCount(); for (int i = 0; i < count; ++i) { QMetaProperty metaproperty = metaobject->property(i); const char *name = metaproperty.name(); QVariant valu…
当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了. 定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题. 打开creator,在构建套件的环境中增加MAKEFLAGS=-j8,可以不用每次设置多线程编译.珍爱时间和生命.新版的QtCreator已经默认就是j8. 如果你想顺利用QtCreator部署安卓程序,首先你要在AndroidStudio 里面配…
一.开发经验总结 当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了. 定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题. 打开creator,在构建套件的环境中增加MAKEFLAGS=-j8,可以不用每次设置多线程编译.珍爱时间和生命.新版的QtCreator已经默认就是j8. 如果你想顺利用QtCreator部署安卓程序,首先你要在AndroidS…
原博网址:http://www.cnblogs.com/feiyangqingyun/archive/2010/12/06/1898143.html 1.如果在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的 closeEvent()函数,加入判断操作 void MainWindow::closeEvent(QCloseEvent *event){   if (maybeSave())   {writeSettings();event->accept();   }   else   {even…
原地址:http://blog.csdn.net/ykm0722/article/details/6947250 转载: 分享在比赛中写代码时,发现的几个对写程序很有用的小段代码,虽小但是在我的软件中帮了我很大忙.这些代码可以在程序和软件开发中直接使用,会为你的程序开发介绍很多麻烦.仅是个人之见,如有不符之处,请拍砖.第一段:主要的功能是解决中文显示问题,这三段有时一段即可,有时需要三段都得写.为了省事,我一般是三段一起写,我们队在软件开发中把这三段放在了main函数中.QTextCodec::…
this->setWindowFlags(Qt::WindowCloseButtonHint); // 仅保留关闭按钮 this->setAttribute(Qt::WA_DeleteOnClose); // 关闭窗口自动释放资源 this->setWindowFlags(Qt::FramelessWindowHint); // 无边框 this->setWindowState( Qt::WindowFullScreen ); // 全屏 this->setWindowFla…
使用JqueryMobile+MVC做一个手机网站,也有2个月了.有一些小小的经验,跟大伙们分享一下下 小技巧1: 禁用所有Ajax加载,它会很烦人的. $.mobile.ajaxLinksEnabled = false; 小技巧2: 使用jqm与jq,有时候会用到比Dom就绪还要早的事件 $(document).on("pagebeforecreate", function (event) { alert("骚年来一发?") }); 小技巧3: 跳转页面时,注意:…
简介 调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可能节省你大量时间的11个Visual studio的调试技巧和方法. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里).…
简介 调试是软件开发周期中很重要的一部分.它具有挑战性,同时也很让人疑惑和烦恼.总的来说,对于稍大一点的程序,调试是不可避免的.最近几年,调试工具的发展让很多调试任务变的越来越简单和省时. 这篇文章总结了可能节省你大量时间的11个Visual studio的调试技巧和方法. 1 悬停鼠标查看表达式值 调试是很有挑战性的.比如在函数内逐步运行可以看出哪里出错,查看堆栈信息可以知道函数被谁调用等等……但是无论哪种情况下,查看表达式和局部变量的值都是很麻烦的(把表达式和局部变量放到watch窗口里).…
这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在 ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值.结合扩展运算符(...)我们可以创建一个新的数组,达到过滤原数组重复值的功能. const array = [1, 2, 3, 3, 5, 5, 1]; const uniqueArray = [...new Set(array)] console.log(uni…
原文地址: https://www.cnblogs.com/ld1024/p/10723827.html 这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值.结合扩展运算符(...)我们可以创建一个新的数组,达到过滤原数组重复值的功能. const array = [1, 2, 3, 3, 5, 5, 1]; con…
这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值.结合扩展运算符(...)我们可以创建一个新的数组,达到过滤原数组重复值的功能. const array = [1, 2, 3, 3, 5, 5, 1]; const uniqueArray = [...new Set(array)]; console.log(uni…
11个超级实用的AI设计小技巧!涉及到很多的实用操作,纯干货经验总结,灰常值得收藏,赶快转走学起来吧! ​编辑:千锋UI设计…
以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 十年前,手机的使用只是为了沟通. 而近几年,情况发生了很大变化,我们很难找到不使用手机的人.手机在极大程度上改变了人们的生活,特别是智能手机,人们沉迷于手中的这个小盒子里.是什么使人们如此无法自拔?打开手机才发现里面充斥着琳琅满目的移动应用程序. 尽管移动应用在行业中已经达到饱和点,但真正的设计师依然可以设计出脱颖而出的应用程序.在这里,我基于自己的一些经验和Google指南为设计师列出了11个有…
lua中的小技巧,即基础lua语言本身的特种,进行一个些简化的操作 一. 巧用or x = x or v 等价于: if not x then x = v end 假设x为nil或false,就给他赋值为 二.三元运算符实现 a and b or c 类似C语言: a ? b : c and 的运算由优先级高于or 三.不足位补0 str = string.format("%02d",num) 相当于 if num < 10 then str = string.format(&q…
顺便想请教一下,你用QT有几年了? 3年不到 那感觉怎么样?是比较难,还是不难但需要时间才能掌握全部? 很多东西真的要拿来做项目了,才会懂.要靠积累.一开始看看理论貌似都很简单. 但是QT和C++本身并不难,对不对? 做起来就觉得麻烦了.我觉得主要靠积累,难度不是问题 那你估计要积累几年,才能算精通,才能算高手? 我觉得至少5年全职Qt开发经验.这还只是Qt不算C++ 你的感觉,全部和我的一样我也觉得QT本身不算难,但内容太多.而且真的用起来,有许多技巧,或者也可以算难点我用QT一年半了,基本上…
记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] delegate] window]; CGRect rect=[_myButton convertRect:_myButton.bounds toView:window]; 2.UIImageView 和UILabel 等一些控件,需要加这句才能setCorn _myLabel.layer.mas…
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本文将这62个小技巧分为常用技巧(1 – 28).编码技巧(29 – 49)和调试技巧(50 – 62),分成三个部分. 每个小技巧都配有 gif 动图,由于原图在 google photo 上,加载较慢,本文全部转存到七牛上了. 由于能力有限,翻译过程中难免有所疏漏,如发现错误或问题,请在评论中提出…
javascript 在前端应用体验小技巧继续积累. 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x…
以下是本人在iOS开发工作中使用的一些小技巧,记录一下. 1.使用XXX.pch文件便捷开发+加速Build 在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的头文件列表.xcode将编译这些头到文件,这将减少你在选择Build 或Build and Go时编译项目的时间.通常用到的头文件已经自动包含了pch,系统编译每个.m文件前,都会先imort这个文件…
Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便. 1. 仅更新单个库 只想更新某个特定的库,不想更新它的所有依赖,很简单: 1 composer update foo/bar 此外,这个技巧还可以用来解决“警告信息问题”.你一定见过这样的警告信息: 1 Warning: The lock file is not up to date with the…
考虑到文章过长,不便于阅读,这里分出第二篇,如有后续,每15个知识点分为一篇... 第一篇地址:( 译.持续更新 ) JavaScript 上分小技巧(一) 第三篇地址:( 译.持续更新 ) JavaScript 上分小技巧(三) 第四篇地址:( 译.持续更新 ) JavaScript 上分小技巧(四) #30 - 将true的/false的值转换成boolean类型你可以通过!!操作将为true/为false的值转换为boolean类型. !!"" // false !!0 // f…
Linux的95个小技巧 by WEB全栈工程师 on 2012 年 03 月 27 日 这里总结了Linux使用中的一些小技巧 1.实现RedHat非正常关机的自动磁盘修复 先登录到服务器,然后在/etc/sysconfig里增加一个文件autofsck,内容如下:AUTOFSCK_DEF_CHECK=yesPROMPT=yes 2.改变文件或目录之最后修改时间(变为当前时间)执行格式:touch name ( name 可为文件或目录名称.) 3.如何设置login后欢迎信息 修改/etc/…