Q:
QVariant 保存指针数据
A1:
1,使用QVariant::fromValue((void*)target)保存数据
2,使用(ShortcutItem*)(v.value<void*>()) 提取数据
A2:
1,使用Q_DECLARE_METATYPE(ShortcutItem*) 声明metatype。
2,QVariant::fromValue(target) 保存数据
3,直接使用 (v.value<ShortcutItem*>())提取数据,不必强制类型转换

Q :
QTreeView 自动调整列宽
A:
header()->setResizeMode(QHeaderView::ResizeToContents );
在设置完QTreeView的model后再调用setColumnWidth()设置列的宽度才有效!

Q:
无法解析的外部符号 "public: virtual struct QMetaObject
public: virtual int __thiscall TestPane1::qt_metacall
A:
主要是因为没有生成 moc_xxx.cpp 文件。
另外注意:
如果类被置于 #ifdef _DEBUG /#endif 这样的宏中,即便是在debug模式下,也不会生成moc_xx.cpp 文件。

Q:
QObject::connect: Cannot queue arguments of type 'QMap<QString,QString>',(Make sure 'QMap<QString,QString>' is registered using qRegisterMetaType().).
A:
上述错误,只有在跨线程信号传递时才会出现.  因为QMap是QT可识别的基本类型,不需要再注册元对象系统中,在同一个线程中运行没有问题.
// QObject: Cannot create children for a parent that is in a different thread.// (Parent is KMsgCenter(0xf71030), parent's thread is QThread(0xde7668), current thread is KMsgCenter(0xf71030)qRegisterMetaType< TicketList>("TicketList" );


Q:
QDockWidget的派生类重载了closeEvent,但是在应用程序退出的是没有得到调用。
A:
查Qt手册,This event handler is called with the given event when Qt receives a window close request for a top-level widget from the window system.
即:在应用程序退出的时候,只有顶层窗口才会得到这个事件通知,其他窗口不会得到close通知。即便QDockWidget在浮动状态下(这时候是顶层窗口)。
依然不会得到关闭通知。
可以通过宿主窗口(QMainWindow)的closeEvent中手动调用 dock->close(),来使其得到通知。
注意:QDockWidget本身重载了closeEvent,派生类处理完成后,要调用下基类的closeEvent。

Q:
QDockWidget 不能调整大小:
A:
QDockWidget的大小是根据其承载的widget的大小策略进行调整的。如果其承载的widget是fixedsize,那么这个dockwidget也就不能被调整大小了。
所以,如果想调整大小,应该设置承载widget的sizepolicy

Q:
A:
QSqlTableModel 创建的时候应该指定一个QSqlDatabase对象,如果不指定的话,将会自动使用当前默认的那个数据库连接。
QSqlTableModel 的SetHeaderData应该在SetTable之后使用,否则会不起作用。

Q:
禁止调整窗口大小
A:
貌似在Designer里面设置SizePolicy为fixed/fixed并不起作用。在设计器中设计好窗口大小,在窗口的构造函数里使用SetFixedSize(size()); 即可

Q:
找不到入口点函数
A:
本地代码写main()... ,并连接qtmain.lib

使用数据库关系模型QSqlRelationalTableModel数的时候,必须先调用select然后再调用setRelation(...),否则数据库中的数据将不能显示

Q:
_ITERATOR_DEBUG_LEVEL 不匹配
A:
通常是因为debug使用了release的lib,或者相反。

Q:
通过vs addin 转换qt pro,加载工程不成功,提示:不支持的路径格式。
A:
仔细看提示信息,所显示的路径类似: C:\xx\debug\C:\xx\ 。手动编辑vcxproject 文件,找到此路径,去掉后半部分 c:\xx 即可

Q:
在QVBoxLayout使用addWidget添加了两个QPushButton,希望第一个固定高度,第二个高度随时改变。
addWidget(btn1, 0)
addWidget(btn2, 1);
无效。两个的高度都不会改变
设置btn2.setMiniumSize() 无效。。。
A:
因为QPushButton的SizePolicy问题。设置btn2的SizePolicy::Expanding 就ok了。

Q:
屏幕可用工作区大小
A:
setGeometry( QApplication ::desktop ()-> availableGeometry());

转载于:https://www.cnblogs.com/lvdongjie/p/4761914.html

Qt知识点、疑难杂症的治疗相关推荐

  1. Qt知识点汇总——来自网络

    为什么80%的码农都做不了架构师?>>>    1.程序可以显示中文 #include <QTextCodec> QTextCodec::setCodecForTr(QT ...

  2. Qt知识点梳理 —— 静态函数发送信号

    文章目录 应用场景 思路原理 项目案例 项目源码 开发环境 应用场景 在编写相机程序时,使用了相机的回调函数,此回调函数为静态成员函数,在需要发送的信号时发现静态成员函数直接发送信号会有问题: 非静态 ...

  3. Qt知识点梳理 —— 国际化 QtLinguist 应用(1)

    文章目录 新建项目 绘制界面 创建翻译文件 翻译文件 新建项目 新建项目的时候,在Translation这一步需要选语言,本例以中英文为例,此处选择Chinese: 此时项目创建完成后,程序目录下会多 ...

  4. Qt知识点梳理 —— 国际化 QtLinguist 应用(2)

    文章目录 QSettings使用 多语言设置 运行效果 项目源码 开发环境 在 国际化 QtLinguist 应用(1) 中,已经生成了源语言和目的语言文件,这章来讲如何在程序中应用: QSettin ...

  5. QT知识点总结(强)

    http://blog.chinaunix.net/uid-20622737-id-3181143.html 1> 定时器的使用 QTimer  *timer  =   new   QTimer ...

  6. QT专业技能实训-富文本编辑器

    目录 1 概述 1.1 专业技能实训目的与要求 1.2 项目背景 1.2.1 项目知识背景 1.2.2 项目设计背景 2 需求分析 2.1软件需求 2.1.1设计需求 2.1.2功能需求 2.2用户需 ...

  7. 00QT知识点学习大纲

    文章目录 简介 元对象系统 信号与槽 松耦合 一对多 多对一 断开连接 动态属性 对象树 部件基类 QWidget 窗体风格 窗体尺寸 尺寸策略 QDialog 常用小部件 QLabel 按钮 QLi ...

  8. CSDN【精品专栏】 第一期

    经常遇到小伙伴在社群.公众号或者文章下面发消息问:我正在学**技术,能不能给我推荐一些适合我学习的书籍.视频等:在哪可以下载到这个资源?等等此类的问题. CSDN是IT一站式服务型网站,这里可以找到到 ...

  9. MIT“35岁以下科技创新35人”榜单揭晓

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:科奖中心 AI博士笔记系列推荐 周志华<机器学习> ...

最新文章

  1. C#断点续传原理与实现
  2. 如何安装mysql5.7.21_Linux 安装MySql 5.7.21 操作步骤
  3. 开源项目如何挣钱? Spark 商业化公司创始人曝光心路历程
  4. oa服务器怎么修改域名,oa域名服务器配置
  5. 删除win10开始菜单中程序的目录
  6. CV Code | 本周计算机视觉新出开源代码汇总(含医学图像分割、神经架构搜索、姿态迁移、超分辨率等)...
  7. tea 加密密钥生成_加密密钥生成需要的是熵的良好来源
  8. Java面向对象之object类自带的方法解析(equals与==、toString方法、instanceof方法、参数传递问题)
  9. SqlDataAdapter的增加,删除,修改
  10. 全国计算机等级考试三级数据库技术考试大纲(2018 年版)
  11. 将中文汉字转换成拼音
  12. unity光照烘焙怎么弄
  13. 基督信仰与电脑软件 随笔
  14. HYDU_create_process (./utils/launch/launch.c:75): execvp error on file *
  15. 23种设计模式——JDK动态代理(AOP)
  16. 升级你的 Flutter 版本
  17. MTK平台 获取本机的SIM卡中IMSI号
  18. 白嫖党最爱!java中break跳出多层循环
  19. java 复制流_Java8流的复制
  20. Java中用包装模式实现标准的DataSource数据源连接池

热门文章

  1. ValidateInput(false)与this.ValidateRequest = false无效的解决方案
  2. C语言C++中memset()函数使用和注意事项
  3. 2019ug最新版本是多少_宝塔Linux面板7.4.2版本/Windows面板6.8版本请尽快升级到最新版本...
  4. du -sh 如何找到最大的文件夹_线上故障如何快速排查?来看这套技巧大全
  5. Pytest之自定义mark
  6. Delphi创建对象时,Application、Self、nil三者的区别
  7. Triumph X发布著名摄影师Kim Joong-man首个NFT系列
  8. ChaiNext:BTC将挑战6W关口
  9. 美国住宅保修公司新增支持加密货币支付,并决定将 BTC 列入资产负债表
  10. SAP自学指南:案例公司的SAP解决方案