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());

Qt知识点、疑难杂症的治疗的更多相关文章

  1. QT之静态函数发送信号

    一.简介 由于博主本人是初学者对QT的机制不了解,所以遇到了一个比较大的坑,特此记录一下.我遇到的问题是无法在静态函数中向另外一个类发送信号.解决办法:先将信号发送给同类中的普通函数,然后在从普通函数 ...

  2. QT5.10+MinGW+OpenCV3.4.2编译

    一.准备工作: (1)在OpenCV官网下载3.4.2版本(注意选择Win pack),https://opencv.org/releases.html. (2)下载Contrib模块,https:/ ...

  3. Qt开发中的实用笔记三--关于各种类的零碎知识点:

    1,QUuid()创建唯一标识码,在创建数据库实体ID和链接数据库QSqlDatabase时非常方便 2,QScrollArea与QScrollBar,如果是要在widget中添加窗口滑动QScrol ...

  4. Qt学习之路MainWindow学习过程中的知识点

    一.Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow MainWindow继承自QMainWindow.QMainWindow窗口分成几个主要的区域:   二.QAction类 QAct ...

  5. Qt 的一些浅知识点

    1 Qt 官网下载地址 http://download.qt.io/ 2 必须得有pro文件么 不是必须的. pro 文件是个中间文件,通过 qmake 程序能将 pro 文件转换成其它平台的项目文件 ...

  6. 3.关于QT中的MainWindow窗口,MenuBar,ToolBar,QuickTip等方面的知识点

     1 新建一个空Qt项目 编写12MainWindow.pro HEADERS += \ MyMainWindow.h \ MyView.h SOURCES += \ MyMainWindow.c ...

  7. Qt中常用知识点

    1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegEx ...

  8. Qt Qwdget 汽车仪表知识点拆解6 自定义控件

    先贴上效果图,注意,没有写逻辑,都是乱动的 这里说一下控件自定义 图中标出的部分都是自定义的控件 这里如果我们有批量类似的功能,就可以使用自定义控件的方式,这里我已下面的自定义控件说一下,上面的在上一 ...

  9. Qt Qwdget 汽车仪表知识点拆解2 图像放大

    先贴上效果图,注意,没有写逻辑,都是乱动的 这里讲下 这个小汽车的进入过程,其实这个说白了就没有技术含量了,本来应该趁着这个机会学习一下Qt的动画机制,不过随机一想,这个自己写也累不到那里去 下面说下 ...

随机推荐

  1. .net程序员必须知道的知识

    A while back, I posted a list of ASP.NET Interview Questions. Conventional wisdom was split, with ab ...

  2. Tomcat虚拟主机配置

    3.1.配置虚拟主机 配置虚似主机就是配置一个网站. 在Tomcat服务器配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置,打开serve ...

  3. bootstrap-datetimepicker配置选项

    依赖 需要bootstrap的下拉菜单组件 (dropdowns.less) 的某些样式,还有bootstrap的sprites (sprites.less and associated images ...

  4. 用urlencode(String str)对URL传递参数进行编码,提高安全

    在PHP 提交地址后面带有参数的时候,参数会在浏览器的地址栏暴露无疑,这样是不安全的,这个时候就必须用些方法对这些参数进行安全处理 这里可以用 urlencode(String URL);//对URL ...

  5. SQL SERVER CEILING 函数 取整时的坑。。。

    CEILING ---返回大于或等于指定数值表达式的最小整数 当舍去同一个大小的值 但是正负方向不一致时要注意小数位四舍五入的问题   例如: SELECT CEILING($123.45), CEI ...

  6. test知识

    内部测试SIT ——system integration testcase 用户测试UAT——user acceptance test SIT是集成测试UAT是验收测试从时间上看,UAT要在SIT后面 ...

  7. Unity3D中的Coroutine详解

    Unity中的coroutine是通过yield expression;来实现的.官方脚本中到处会看到这样的代码. 疑问: yield是什么? Coroutine是什么? unity的coroutin ...

  8. hadoop输出统计

  9. CMD模块定义规范

    CMD 模块定义规范 在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规 ...

  10. Webpack 傻瓜式指南(一)

    modules with dependencies   webpack   module bundler   static  assetss   .js .js .png Webpack傻瓜式指南 n ...