Qt
文章平均质量分 64
努力的草根
奔跑中的小蜗牛
展开
-
Qt线程间的信号与槽 以及 QThread
问题描述:界面线程MainApp为主线程,工作线程MyThread为一子线程,从工作线程向主线程传递字符串用于在主线程中显示。Qt的信号与槽机制可以将任何继承自QObject类的对象捆绑在一起,使不同对象之间能够相互通信。成功的实现:工作线程:class MyThread:public QThread{ Q_OBJECT ...signals:转载 2013-06-09 14:16:27 · 19643 阅读 · 9 评论 -
QT 获取程序运行时间
【问题描述】程序运行时间是编程的一项重要指标,在QT中如何测算程序的运行时间呢?【解析】测试函数[html] view plaincopy#include math.h> void function() { unsigned int i,j; double y; f转载 2014-06-04 15:57:44 · 3672 阅读 · 0 评论 -
QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化
//QString to wchar_t *:const wchar_t * encodedName = reinterpret_cast(fileName.utf16());//QString to char * given a file name:QByteArray fileName = QFile::encodeName(aFileName);const char * encod转载 2014-06-04 09:51:28 · 13184 阅读 · 0 评论 -
Qt 遇到的一些小问题
1.在函数中,若对一个控件进行setEnabled(false);在函数未结束前,并不能马上看到该控件变灰,必须要手动调用qApp->processEvents()函数,才能看到立刻变灰的效果。该函数作用是马上处理一下时间循环。2.应用程序单例要实现单例,使用QLocalServer监听应用名称,这时setApplicationName必须要设置一个自定义名称,否则默认为空。在判断转载 2014-07-23 08:44:24 · 1623 阅读 · 0 评论 -
QT4 error LNK2001: 无法解析的外部符号 .
先转一下其他人的帖,同样是error LNK2001的问题。第一次来发个帖,如果可能的话期望找到根本原因!几天没有关注我的QT程序,再次拿出来编译后竟然出现连接错误,因为四体不勤,没有频繁的checkin,所以无法找到中间版本,只能解决问题了。1>MainWindowBottomWidget.obj : error LNK2001: 无法解析的外部符号 "public: virtual转载 2014-08-26 12:06:33 · 1837 阅读 · 0 评论 -
QT 中改变文字颜色 字体 形状
[cpp] view plaincopyQObject::tr("%1的人品指数:%2" "点评:奸雄,实实在在的奸雄,宁可我负人人,不可人人负我," "你的人品不及格,小心哦。"转载 2013-12-15 22:07:12 · 3992 阅读 · 0 评论 -
SQL Server 条件约束,唯一约束 设定总结
SQL Server中有五种约束类型,分别是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。 1. PRIMARY KEY约束在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的转载 2014-09-23 16:00:21 · 6530 阅读 · 0 评论 -
wchar_t char string wstring 相互转换
第一种方法:调用WideCharToMultiByte()和MultiByteToWideChar(),代码如下(关于详细的解释,可以参考《windows核心编程》):#include #include using namespace std;//Converting a WChar string to a Ansi stringstd::string WChar2Ansi(LPCWST转载 2014-09-24 14:03:38 · 1023 阅读 · 0 评论 -
VS2010 + QT5 SerialPort 串口应用实例总结
原文链接:希望转发者保留。VS2010 + QT5 SerialPort 下面代码的关键两个地方,就是读和写两个位置,因为串口是不稳定的,所以必须以这种方式来收发。#include "stdafx.h"#include "serialporttesttool.h"SerialPortTestTool::SerialPortTestTool(QWidget *parent) : QMainWindow(parent)原创 2015-02-03 11:02:53 · 9670 阅读 · 5 评论 -
QT5 +VS2010 SP1 解决中文乱码问题
qt4和VS2008的中文支持,大家都知道的。就不说了。qt5.2.1发布后,源码全部是UTF-8编码,但由于微软的问题,VS2010打上补丁VS2010sp1,加入#pragma execution_character_set("utf-8")可以解决中文乱码问题。可是VS2012又忘记了支持这段代码,qt5.2还会出现乱码。所以为了用qt5.2只好选择VS2013了QStrin转载 2015-02-05 14:01:16 · 6148 阅读 · 0 评论 -
从Qt4 到Qt5的变化
QT4 升级到 QT5 改动:PC部分:【改 QTDIR 变量】在工程根目录下找到 .user 文件 , 如 InnoTabPlugin.vcxproj.user修改指向你的 QT5 根目录: C:\qt\Qt5.2.1\5.2.1\msvc2010 或者找到这个文件 Qt4VSPropertySheet.prop转载 2015-05-13 14:34:27 · 35576 阅读 · 4 评论 -
从Qt4 迁移到Qt5 winEvent代替为nativeEvent
之前项目的代码从Qt4迁移到Qt5, 发现以前在Qt4中使用winEvent写的边缘拖动无法通过编译.查了一下原来是在Qt5中已经移除winEvent, 并使用nativeEvent来代替.那么在工程中只需要略加修改即可使用, 主要改两个地方:1. 加入nativeEvent函数: [cpp] view plaincopyprint?转载 2015-05-13 19:47:53 · 9716 阅读 · 1 评论 -
QString 与各个字符间的转换
▲QString与char *的相互转化QString str1 = "Test";QByteArray ba = str1.toLatin1();const char *c_str2 = ba.data();printf("str2: %s", c_str2);QString string = QString(QLatin1String(c_str2)) ;或者/转载 2014-05-06 14:32:16 · 4058 阅读 · 1 评论 -
pyqt 安装总结
此篇只做为自己备忘录因为经常用到的其实主要是python 访问sql server,再就是用python通过串口通讯因为版本过多的原因,经常不用,就很难找到用到的库了。访问sql server,只需要下载pymssql即可,其实这网站上找的一般都是最新的,苦于自己的电脑配置没有那么高,所以一般都是旧版本的,这里有个技巧,可能是自己笨没有找到,在python里面的pypi里面原创 2017-03-22 22:40:25 · 483 阅读 · 0 评论 -
pyqt signal slot thread 多线程
目录(?)[+] 信号(singal)与槽(slot)用于对象相互通信,信号:当某个对象的某个事件发生时,触发一个信号,槽:响应指定信号的所做的反应,其实信号槽类似于.NET里面的委托、事件,比如Repeater控件类,当行数据绑定后,触发一个ItemDataBound事件,不管使用者使用会监听该事件并做额外处理,其控件类内部都会触发该事件,这种机制很转载 2017-04-10 17:10:52 · 3071 阅读 · 0 评论 -
qt Event Filter 控制Ctrl Shift Alt键
一直对Event Filter似懂非懂, 通过看C++ GUI Programming with Qt4, Second Edition, 争取搞明白. 顺便自己把英文翻译成中文, 算是自己做的笔记了. Installing Event Filters QT事件模块一个真正强大的特性是可以设置一个QObject的实例去监测另外一个QObject实例的事件,在被监测的实例see之前.假设我们有转载 2013-12-25 21:13:41 · 5580 阅读 · 0 评论 -
QT5 串口应用
qt4的网上一大堆,qt5的在网上好像没有,自己摸索出来了。这是原文链接! http://blog.csdn.net/qq363692146/article/details/10366713 希望转发者保留,多谢。QT5的有一大好处就是 【串口正确初始化!!!】qt4的初始化常常要借助其他软件。正文开始,因为用到信号和槽,所以就直接用GUI程序,建立QM转载 2013-12-25 19:34:40 · 9520 阅读 · 12 评论 -
Qt QLabel::setBuddy函数
label = new QLabel(tr("Find &what:"));lineEdit = new QLineEdit;label->setBuddy(lineEdit);label 的快捷键是 "ALT+w",按下快捷键时,输入焦点自动跳到label的buddy——lineEdit上转载 2013-06-03 22:44:12 · 8306 阅读 · 1 评论 -
QSqlDatabase类实现了数据库连接的操作
#include QT += sqlQSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录第一:QSqlDatabase类QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 采用QSQLITE数据库,QMYSQL数据库有问题?db.se转载 2013-07-16 16:16:10 · 9659 阅读 · 0 评论 -
qt sql事务操作(转)
事务是数据库的一个重要功能,所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。在Qt中用transaction()开始一个事务操作,用commit()函数或rollback()函数进行结束。commit()表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到数据库,事务正常结束。rollback()表示回滚,即在事务运行的过程中发转载 2013-07-16 16:37:29 · 1628 阅读 · 0 评论 -
关于qt中的tr()函数
在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr (2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) (2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包转载 2013-09-14 17:22:54 · 583 阅读 · 0 评论 -
CString, QString, char*之间的转换
传给未分配内存的const char* (LPCTSTR)指针. CString cstr(asdd); const char* ch = (LPCTSTR)cstr; ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.2.传给未分配内存的指针. CString cstr = "ASDDSD"; char *ch = cstr转载 2013-10-07 09:20:54 · 844 阅读 · 0 评论 -
QT 操作excel
pro file[plain] view plaincopyCONFIG += qaxcontainer QT += core QT -= gui TARGET = QExcel CONFIG += console CONFIG -= app_bundle转载 2013-10-07 08:14:08 · 4330 阅读 · 0 评论 -
QT 修改控件背景颜色
一. 背景刷成黑色,前景色设为白色。 方法一、paltette方式,经测试,该方法不会影响到其他控件,推荐使用 QPalette bgpal = palette();bgpal.setColor (QPalette::Background, QColor (0, 0 , 0, 255));//bgpal.setColor (QPalette::Background, Qt::tra转载 2013-10-09 16:16:23 · 26752 阅读 · 3 评论 -
右键菜单事件contextMenuEvent(QContextMenuEvent *event)
QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数:Qt::ContextMenuPolicy contextMenuPolicy () constvoid setContextMenuPolicy ( Qt::ContextMenuPolicy policy )Qt::ContextMenuPolicy枚举类型包括:Qt::DefaultConte转载 2013-10-22 15:11:33 · 3564 阅读 · 0 评论 -
使用QT TableView
QTableView是显示表格状的视图 其经常使用的函数有1.显示格子 setShowGrid(false);2.由内容调整列 resizeColumnsToContents();3.获取垂直表头 verticalHeader();当然还有水平表头4.设置非编辑状态 verticalView->setEditTriggers(QTableView::NoEditTr转载 2013-10-22 15:12:48 · 8234 阅读 · 0 评论 -
QListView MVC 模型
QT提供了model/view 结构来管理数据与展示数据。 对于搞J2ee开发的,MVC是再熟悉不过了,Model,View,Controller,qt的model/view模式跟MvC差不多。 model提供数据模型,view展示数据,delegate会对数据项进行渲染。model,view,delegate通过信号/槽机制通信。 前面在QML中就学过L转载 2013-10-22 15:13:35 · 2191 阅读 · 0 评论 -
QT 串口通信2
以前写的串口通讯的工具,最近没事整理了一下记录下来。由于Qt没有实现关于串口操作的类,所以一般情况下可以自己写线程实现,也可以使用第三方类。这里使用第三方类。可以到网上去下载,也有关于这个第三方类的介绍。这里不多说了,在win下,主要就是下载这几个文件:qextserialbase.h,qextserialport.h,win_qextserialport.h,qextserialbase.cpp转载 2013-11-14 22:18:17 · 5830 阅读 · 4 评论 -
qt 串口通信1
在Qt中并没有特定的串口控制类,现在大部分人使用的是第三方写的qextserialport类,我们这里也是使用的该类。我们可以去http://sourceforge.net/projects/qextserialport/files/进行下载,也可以去下载我上传到网上的:http://download.csdn.net/source/1762781 或http://www.qtc转载 2013-11-14 22:20:48 · 1611 阅读 · 0 评论 -
QT 读取txt 文件
今天学习QT的文件操作 1、QIODevice直接继承自QObjectQIODevice类是输入/输出设备的基类。QIODevice为设备提供了公共实现和抽象接口用于读写块数据。QIODevice是一个抽象类,不能被实例化。被Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalSoc转载 2013-12-10 10:24:02 · 62665 阅读 · 0 评论 -
C++ qt dynamic_cast const_cast static_cast类型转换
dynamic_cast: 通常在基类和派生类之间转换时使用,run-time castconst_cast: 主要针对const和volatile的转换. static_cast: 一般的转换,no run-time check.通常,如果你不知道该用哪个,就用这个。 reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符转载 2013-12-10 20:35:00 · 7660 阅读 · 0 评论 -
QT windows下只允许运行一个实例
int main(int argc, char *argv[]){ QApplication a(argc, argv); QSharedMemory *shareMem = new QSharedMemory(QString("SingleInstanceIdentify")); /* if the sharedmemory has not been crea...转载 2018-10-05 16:56:52 · 711 阅读 · 0 评论