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. gzip命令

    http://www.cnblogs.com/peida/archive/2012/12/06/2804323.html 减 少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时, ...

  2. nodejs初体验

    安装好nodejs之后 在命令行中直接运行:node -v //若安装成功则显示版本号 var http = require('http'); http.createServer(function ( ...

  3. Aspnet MVC 异步调用

    一个简图来描述下Aspnet MVC下的异步调用 { request } / \/ -------ISS------- > work thread | \ | \ route - aysn co ...

  4. linux下搭建svn服务器

    安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 ...

  5. Java高精度学习第二弹——求N!

    继续学习Java高精度,今天写的是求N!. 首先附上源代码: import java.util.Scanner; import java.math.BigInteger; public class M ...

  6. ASP.NET MVC轻教程 Step By Step 2 ——View初探

    在上一节我们完成了一个最简化的MVC程序,最重要的是下面这段代码. public class HomeController : Controller { public string Index() { ...

  7. 访问Github过慢解决

    在这个地址查找响应最快的地址:http://tool.chinaz.com/dns?type=1&host=assets-cdn.github.com&ip= 查找:assets-cd ...

  8. Ubuntu系统使用技巧

    ======================vbox 显示模式=====================right_ctrl+c     自动缩放right_ctrl_home  显示菜单====== ...

  9. AT24C512与AT24C512B的区别

    前几日公司采购人员说现在AT24C512要停产了,替代型号为AT24C512B,因为公司产品中使用该器件较多,因此专门又研究了一下这两个芯片,发现还是有很多地方不同的. (1)AT24C512输入电压 ...

  10. 禁用窗体关闭按钮(使用GetWindowLong修改GWL_STYLE)

    一般我们不想让窗体能够关闭, 首先想到的是在OnCloseQuery事件里设置CanClose := False, 不过在某些情况下这个会和程序关闭窗体的业务逻辑产生冲突 所以写了下面这个函数, 可以 ...