随笔分类 - Qt
摘要:Qt中QMessageBox::critical(...)的第一个参数使用this和NULL的区别: 前者能够保证消息框可以在应用窗口的中央. 后者只是让消息框在电脑屏幕的中央. 参考帖子: https://stackoverflow.com/questions/6754049/setting-pa
阅读全文
摘要:数据模型 数据不仅可以存储在数据模型中,数据可以是其他类,文件,数据库或任何数据源. 视图组件 那些带View的类; 在显示数据时,调用setModel()函数,为自己设置一个数据模型,实现组件和数据之间的交互.一个数据模型可以同时在多个视图组件中显示数据. 视图组件类的数据采用单独的数据模型,视图
阅读全文
摘要:tableWidget->installEventFilter(this);//注册事件过滤器 bool Widget::eventFilter(QObject*obj,QEvent*event) { if(obj == tableWidget) { if(event->type() == QEve
阅读全文
摘要:1.任何情况下都屏蔽 在工程文件.pro里面添加 DEFINES += QT_NO_WARNING_OUTPUT\ QT_NO_DEBUG_OUTPUT然后clear项目重新编译即可 2.Release版禁止输出debug信息 CONFIG(release, debug|release):DEFIN
阅读全文
摘要:If you want to use other types as the key, make sure that you provide operator==() and a qHash() implementation. #ifndef EMPLOYEE_H #define EMPLOYEE_H
阅读全文
摘要:int main(int argc, char **argv) { QApplication app(argc, argv); QString str1 = "Test"; QByteArray ba = str1.toLatin1(); const char *str2 = ba.data();
阅读全文
摘要:前几天,用QTest去做GUI测试时遇到一个模拟关闭模态对话框的情况. 直接在主线程中直接关闭对话框是不可能的,因为后面的代码被阻塞了,这个时候想到了使用子线程的方式去做. Qt中创建子线程的方式比较有趣:先创建一个继承自QObject的WorkerThread对象,然后去move到QThread对
阅读全文
摘要:这一块一直看起来怪怪的,今天梳理起来感觉这块的设计真是感人啊. MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //这里实际上是对th
阅读全文
摘要:QString 采用的unicode,在中文支持上不存在任何问题 "我是中文" 这是传统的 const char * 的窄字符串 当将窄字符串赋值到QString时,我们需要告诉它我们的窄串采用的何种编码(gbk?、utf-8?) 究竟何种编码主要取决于我们的源代码文件的编码(windows上一般是
阅读全文
摘要:今天在尝试QTest的东西,晚上准备给自己项目的某个类做下单元测试,发现了很多.pro配置的知识. 1.在测试工程中手动添加需要的.cpp及.h(通过右键添加现有文件)后,这些目录会自动被写入到.pro中,会自动转化为相对路径. 2.如果在.pro中添加了.h后,就不再需要在显式#include .
阅读全文
摘要:转自:https://blog.csdn.net/u010607621/article/details/50321915 1 首先说下字符集。 gb18030字符集兼容了gbk字符集,以两个字节表示一个文字。windows系统可能使用的就是这两种的一种。 unicode字符集以2个或以上的字节表示一
阅读全文
摘要:myBtn->setTesxt(QString::fromLocal8Bit("中文");
阅读全文
摘要:What is different between dynamic_cast and qobject_cast? qobject_cast can only be used with QObject derived classes having Q_OBJECT macro. qobject_cas
阅读全文
摘要:一.背景 在使用qt中经常会用到影子模式,即把编译生成的文件放到源代码目录以外的地方,比如build目录,以起到代码整洁的目的. 使用这种模式经常会遇到一些问题: 比如qt修改ui文件,运行后却没有更新.原因是程序中使用的ui_xx.h文件不是最新的文件. 二.解决办法: 方法1: 取消影子构建,此
阅读全文
摘要://创建下拉框对象,并加入到表格对象中 QComboBox *comboBox = new QComboBox (); comboBox ->addItems(strListItems);//QStringList类型的元素 m_Table->setCellWidget(0,0,comboBox )
阅读全文
摘要:一。概述 和常见的QTableWidget,QTreeWidget不同,QTabWidget是一个Tab窗口的容器,而前面的两个是Item-Based,里面装的都是它的item,里面元素是XXItem类型的。而QTabWidget中并没有QTabWidgetItem类型。 二。不太好找的用法 1.容
阅读全文
摘要:Qt帮助文档中给的一个demo QString tmp = "test"; QByteArray text = tmp.toLocal8Bit(); char * pCh = new char[text.size()+1]; strcpy(pCh, text.data());delete [] da
阅读全文
摘要:1.应用程序当前目录 2.SetDllDirctory中设置的目录 3.window系统目录 4.环境变量中设置的路径(相当于保底的)。 工作中使用Qt遇到一个问题,报错“无法定位程序输入点xxx 于Qt5Core.dll上”。后来确定原因是运行目录(Release)下的dll文件版本和exe对应不
阅读全文
摘要:我们编辑ui文件时候 可以这样使用槽函数, on_objectName_signal(args) ; 非常简便, 文档说明是下面 1 void QMetaObject::connectSlotsByName ( QObject * object ) [static] 2 Searches recur
阅读全文