1.场景:假如我们想在layout中的qlabel中设置一个图片

  1.1 如果简单地使用border-image,我们可以做到,并且拖动界面时,label可以随布局正常变化,这里需要注意的是,修改ui文件的时候,经常需要删除build文件重新编译,qmake这点很坑;

  1.2 但是如果我们使用setpixmap,比如在界面初始化还没有显示出来的时候来使用pixmap,只是使用setpixmap的话,pixmap会显示为原始大小,不受label控制

  1.3 接着我们尝试使用scaledContents,但是没有什么卵用,我们发现,该函数只是当图片比label小的时候会自适应图片到label大小,当图片比label大的时候,会显示为图片的原始大小,非常坑;

  1.4 接着我们尝试对pixmap使用 scaled(ui->label->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);并且添加scaledContents函数,但是发现显示出来的图片非常模糊,这是因为在界面初始化,还没有show出来的时候,控件大小不是最终看到的到大小,你需要将scaled函数写在showevent里或者之后;

  1.5 然后,按照上面步骤写完之后,我们发现,label只能被拖动放大,并不能被缩小,如果想缩小需要自行编写控件

  总结一下,在初始化时设置图片,你需要在showevent或者show出来之后setpixmap,你也需要手动scaled。

2.如果你想使用QTextEdit中的css样式,劝你早点放弃,Qtextedit很多css都不支持,很难用;

3.使用QNetwork中的put来上传文件的时候,如果网络中断了,你将束手无策,即使你这样来处理错误信号,也毫无卵用

connect(reply, static_cast<replyError>(&QNetworkReply::error), this, &NetworkHandler::uploadErrorReply);

因为它根本就不发射错误信号,也就是说如果网络断了,你调用put函数他将卡在那里,不能动弹,也许你觉得可以使用QTimer来编写一个定时器,这对于一个put还够用,但是如果你短时间上传多个文件,你就需要为每一个连接编写一个Qtimer,而如果你是使用的是一个全局的QNetwork变量,你将很难写出相应的解决方案,总之就是很糟糕!

4.QComplete 在一些简单的应用上可能还奏效,但是如果你想用在类似于百度搜索,那样的联网实时模糊搜索上,那很可能会遇到严重问题,譬如,popup没法显示出来,有时候popup又会比实际内容要长,这很可能是因为popup界面刷新不及时,但是尝试了很久很久,我也没有找到好的解决方案,实在无力吐槽,于是我决定自己重新写一个。

5.当空间宽高小于border-radius两倍的时候,无法显示圆角,详情问题描述可见:https://stackoverflow.com/questions/17797371/maintaining-rounded-corners-when-the-height-is-less-than-twice-the-border-radius

这种情况在自己写软件的时候很容易遇到,但是找不到什么很好地解决方法,但是却又很影响显示效果。

Qt坑点汇总的更多相关文章

  1. navicate 连接mysql8.0,个人踩坑问题汇总

    navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...

  2. html2canvas - 项目中遇到的那些坑点汇总(更新中...)

    截图模糊    原理就是讲canvas画布的width和height放大两倍. 后来学习canvas的时候,才了解到这种写法不同于css的宽高设置, 因为css里的只是展示画布显示的大小,不像这样是c ...

  3. qt 透明化方法汇总

    一. QT 透明设置 背景,标题栏透明,下级Widget,painter绘出来的(比如,drawtext,drawline)不透明 QWidget window; window.setWindowFl ...

  4. swiper使用总结-坑点汇总

    1.开发中遇到个坑,ScrollableTabView(选项卡)+swiper(轮播图)在安卓下,初始化的第一页不会渲染,需要在ScrollableTabView挂载完毕后再渲染swiper. 解决方 ...

  5. QT UAC问题汇总贴

    http://www.qtcn.org/bbs/read-htm-tid-47983.html http://www.cnblogs.com/bombless/archive/2010/12/29/h ...

  6. Nodejs 8.0 踩坑经验汇总

    .Linq:Linq to sql 类 高度集成化的数据库访问技术 使用Linq是应该注意的问题: 1.创建Linq连接后生成的dbml文件不要变动,生成的表不要碰,拖动表也会造成数据库连接发生变动, ...

  7. Js中遇到的坑点汇总

    一.Android 手机下输入框获取焦点时, 输入法挡住输入框的 bug 解决思路: 1.去掉overflow属性 2. Android 手机下, input 或 textarea 元素聚焦时, 主动 ...

  8. windows安装oos遇到的坑 (汇总)

    一.环境安装 --  搭建域控服务器 1. 打开服务器管理器,添加角色和功能: 2.下一步: 3.下一步: 4.下一步 5.选择添加AD域服务,同时添加所需功能,下一步: 6.安装功能,下一步: 7. ...

  9. Laravel 获取 Route Parameters (路由参数) 的 5 种方法

      Laravel 获取路由参数的方式有很多,并且有个小坑,汇总如下.   假设我们设置了一个路由参数:   现在我们访问 http://test.dev/1/2   在 TestController ...

随机推荐

  1. The Last Week

    二轮省选前的最后一周了呢. 一路走到这里,真的很希望能继续走下去. 好好调整一下状态,争取能有机会买D吧(虽然现在似乎D也没什么用了 day1 多项式 多项式ln 多项式exp day2 数据结构 L ...

  2. Spring的事务初见

    一.事务的特性 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 一致性: 执行事务前后,数据保持一致: 隔离性: 并发访问数据库时,一个用户的事物不被 ...

  3. ckeditor自定义插件--一键给所有的图片添加链接

    ckeditor自定义插件在网上查了查,感觉还是比较好用的,写了一个一键给编辑器中的所有图片添加链接. 在ckeditor目录下的plugins下建以插件为名的文件夹,在里边建plugin.js文件, ...

  4. python之value和布尔值

    之前做判断的时候如果遇到空列表,空字符串,可以直接使用当做判断条件.比如: s = "" if s: print(s) 不是打印s的,也就在这里if的判断条件是False. 所以, ...

  5. python -- 小数据池 is和 == 再谈编码

    1.小数据池 python程序是由代码块构成的,一个代码块的文本作为python程序的执行单元. 代码块:一个模块,一个函数,一个类,甚至一个command命令都是一个代码块,一个文件也是一个代码块, ...

  6. zookeeper应用与原理学习总结

    一.什么是zookeeper Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群 ...

  7. springboot国际化

    Session方式的国际化/** * @descripte 请求中如果有{@Param lang},则按照lang的格式国际化 * @descripte 请求中如果无{@Param lang},但se ...

  8. js判断一个字符串是否是回文字符串

    回文字符串:即字符串从前往后读和从后往前读字符顺序是一致的. 如:字符串abccba,从前往后读是a-b-c-c-b-a:从后往前读也是a-b-c-c-b-a 方法一 function palindR ...

  9. JS 判断两个时间的大小(可自由选择精确度:天,小时,分钟,秒)

    //可自由选择精确度 如:签到时间:2018-11-07 11:00:00 签退时间:2018-11-07 10:59:59 //判断时间先后 //统一格式 var a = $("#fdtm ...

  10. node-express-2-jade

    1,Jade里可以省略尖括号,直接写标签名 2,标签间的嵌套关系用换行加空格来实现 3,紧接在标签名后加上.xx或#xx,就能给标签添加css类名和id,如果不写标签名默认就是div 4,标签属性写入 ...