qt
penghuilater
这个作者很懒,什么都没留下…
展开
-
QSqlDatabase
QSqlDatabase累提供了一个链接数据库的类。 QSqlDatabase累提供了通过连接来使用使用库的接口,QSqlDatabase的一个实例就代表了对数据库的连接,这个提供使用数据库的连接是通过 supported database driver来实现的, 这个supported database drivers是由 QSqlDriver来实现的。当然,你也可以通过子类化自己的数据库驱动(原创 2016-05-09 15:22:46 · 710 阅读 · 0 评论 -
Qt 获取按下按键的内容
void keyPressEvent(QKeyEvent *e){ qDebug() modifiers() + e->key());}原创 2017-01-07 16:56:12 · 5162 阅读 · 0 评论 -
QtConcurrent Qt处理多线程
先学下单词,:concurrent 并发有道词典结果n. [数] 共点;同时发生的事件adj. 并发的;一致的;同时发生的这个QtConcurrent的命名控件提供了可以用来实现程序多线程的高级api, 而不用使用低级的线程的原始的api, 诸如:mutexes, read-write locks, wait conditions,原创 2016-09-01 15:47:36 · 1641 阅读 · 0 评论 -
QFuture 类 Qt 控制线程
QFuture类能够获取一个一步计算的结果。通过使用这个 Qt Concurrent 框架内的一个api来开始一次计算。它可以用允许多个线程同步一个或多个结果在稍后的一段时间内计算完成。这个结果可以是任意一种类型,这个类型有默认的构造函数和拷贝构造函数。如果通过调用: result(), resultAt(), or results()不能获取当前的执行时间,那QFuture翻译 2016-09-07 16:22:25 · 4534 阅读 · 0 评论 -
Qt的打印机使用设置
最近项目要加一个打印设置,查了下Qt打印机的调用方法,主要用到下面的类QPrinter, QPrintDialog;初步的打印机调用demo: ps: 首先要在qt的.pro文件中添加打印机支持:QT += printsupport QPrinter printer(QPrinter::ScreenResolution); QPrintDialog*原创 2016-10-25 16:44:05 · 14476 阅读 · 8 评论 -
QFileSystemWatcher Qt 实现文件监测
QFileSystemWatcher类提供了监测文件和目录改变的接口。QFileSystemWatcher监测给定路径的文件或者目录在文件系统中的改变。监测目录可调用的接口:addPath()监测一个给定的文件或者路径;addPaths()监测多条路径等;移除目前监测的文件的接口:removePath()removePaths()QFileSyste翻译 2016-10-28 10:19:27 · 4954 阅读 · 0 评论 -
Qt 复制文件到剪贴板
复制文件到剪贴板:paths表示将要粘贴到剪贴版的文件的路径void copyFilesToClipboard(const QStringList &paths){ // Get clipboard QClipboard *cb = QApplication::clipboard(); // Ownership of the new da原创 2016-11-01 11:23:39 · 2445 阅读 · 0 评论 -
QMimeData 的学习
QMimeData类提供了一个可以记录数据的容器,用来记录mime类型。QMimeData被用来描述可以被存储到剪贴板中,可以通过drag and drop机制来传输的数据。QMimeData对象可以将对应的mime类型的数据信息在应用程序之间进行安全的传输和在同一应用中拷贝。QMimeData对下也常常通过new来创建,然后传递给QDrag或者QClipboard对象。这原创 2016-11-01 15:59:58 · 4246 阅读 · 0 评论 -
如何创建Qt Plugins (插件)之 使用高级api
Qt提供了2个api来创建插件:QStringList SimpleStylePlugin::keys() const{ return QStringList() << "SimpleStyle";}一个高级的api 用来写Qt自己本身的插件:如自定义数据库驱动,图片格式,text codecs, 自定义样式,etc.一个低级的api用来扩展Qt的application翻译 2016-11-17 13:41:49 · 3917 阅读 · 0 评论 -
QLinearGradient 绘制渐变效果
void paintEvent(QPaintEvent* e) { QPainter p(this); p.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); QLinearGradient lig原创 2016-12-30 16:25:39 · 1928 阅读 · 0 评论 -
Qt 批量打印图片
Qt 调用打印机批量打印图片,输出为pdf;void showPrintDialog(const QStringList &paths) { QPrinter printer; printer.setOutputFormat(QPrinter::PdfFormat); QPixmap img; QPrintDialog* printDialog = new QP原创 2017-01-09 11:20:23 · 1221 阅读 · 0 评论 -
QIntValidator 限制QLineEdit输入范围
QIntValidator QLineEdit限定范围转载 2017-10-31 09:40:18 · 3851 阅读 · 0 评论 -
QPaintEvent的性能
QPainter在绘图过程中,受到很多因素的影响:在绘制图片的过程中避免临时读取图片文件,应该载入一张已经读好的图片;在刷新过程中应该避免在事件当中进行刷新,可以用定时器设置帧率刷新;原创 2017-09-08 10:32:22 · 648 阅读 · 0 评论 -
QTransform Qt坐标转换
QTransform类定义了一个特定的用于2D坐标转换。它的转换包括如何对坐标系统位置迁移,缩放,扭曲,旋转等,它在渲染图片中被用的非常多。QTransform不同于QMatrix 它是一个真是的3*3的矩阵,允许进行可视化的转换。QTransform的toAffine()的方法允许QTransform转换为QMatrix. 如果一个可视化的转换被用在特定的matrix, 这个翻译 2017-08-15 15:55:45 · 2779 阅读 · 0 评论 -
QMutex 多线程中的互斥锁
QMutex类提供了使线程之间序列化。QMutex的目的就是为了保护一个对象,数据结构或者一部分的代码在某个时期只能被唯一的一个线程访问(这点有点类似于Java的同步关键字)。它通常和QMutexLocker一起使用,因为这会让锁定和解锁表现的一致。例如这样的一段代码: int number = 6; void method1() { number *= 5;翻译 2017-03-10 15:07:10 · 2603 阅读 · 0 评论 -
QGraphicsView Qt视图类
QGraphicsView类提供了展示QGraphicsScence内容的一个控件。QGraphicsView将QGraphicsScence的内容可视化展示在一个可滚动的视图类。为了创建具有几何位置的items场景,查看QGraphicsScence的文档。QGraphicsView也是GraphicsView FrameWork的一部分。你可以通过使用滚动条滚动到场景中的任意位翻译 2017-02-14 16:46:36 · 1814 阅读 · 0 评论 -
QGraphicsScence Qt场景类
QGraphicsScence类提供了一个管理大量2D图元的场景面。这个类是作为QGraphicsItems的一个容器类, 它和QGraphicsView类一起使用,提供了图元可视化,例如线,矩形,文字,甚至是一些自定义的项,在一个2D的场景面上。QGraphicsScence是场景视图框架的一个部分。QGraphicsScence也提供了功能,让你可以有效的确定item的位置,包翻译 2017-02-14 16:05:17 · 2002 阅读 · 0 评论 -
QT中PRO文件写法的详细介绍(转)
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被转载 2017-01-16 19:49:59 · 390 阅读 · 0 评论 -
QCryptographicHash 密码散列值
散列表:散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名{\displayst原创 2017-01-15 13:27:17 · 784 阅读 · 0 评论 -
QSocketNotifier 实现文件监控(demo Linux系统U盘插拔监控)
QSocketNotifier 类提供了对文件的监控活动的支持。QSocketNotifier 类使Qt的事件循环和文件描述器的事件循环结合起来成为可能。文件描述器的动作可以被Qt的主事件循环( QCoreApplication::exec() )检测到。一旦你打开了一个设备使用低级的api(通常基于特定平台), 你可以创建一个socket notifier 来监控文件描述器。这个原创 2016-12-01 09:49:23 · 4366 阅读 · 0 评论 -
如何创建Qt Plugins (插件)之 使用低级api
使用低级的api:扩展Qt的应用程序不仅仅是Qt 本身,Qt的应用程序也可以通过plugins来扩展。这个就要求应用程序来探测和加载插件通过QPluginLoader.在这个前提下, 插件可以提供任意的函数,就不会局限于database drivers, image formats, text codecs, styles, 和一些其他可以扩展Qt功能类型的插件。制作应用程序插件的翻译 2016-11-18 10:36:07 · 5015 阅读 · 0 评论 -
安装Qt不能添加qmake
QtCreator.db QtCreator.ini qtversion.xml toolChains.xml qtcreator qtc-debugging-helper qtc-qmldump The location depends on the platform. On Linux and other Unix platforms, the files are located原创 2016-08-12 16:36:53 · 3249 阅读 · 0 评论 -
Qt listView drag&drop
I have implemented the following methods for drag and dropvoid mousePressEvent(QMouseEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dropE原创 2016-08-12 16:35:29 · 1413 阅读 · 0 评论 -
Qt设置环境变量
void addEnvironment() { setenv("QT_LINUX_ACCESSIBILITY_ALWAYS_ON", "1",0); setenv("QT4_IM_MODULE", "fcitx", 0); setenv("QT_ACCESSIBILITY", "1", 0); setenv("QT_IM_MODULE", "fcitx", 0);原创 2016-08-12 16:33:34 · 13148 阅读 · 0 评论 -
计算QTextEdit的高度
QTextDocument* document = new QTextDocument(label); document->setTextWidth(100); QTextOption op; op.setWrapMode(QTextOption::WrapAnywhere); document->setDefaultTextOptio原创 2016-08-12 16:31:39 · 2093 阅读 · 0 评论 -
Qt的正则匹配
if (!file.open(QIODevice::ReadOnly)) { qDebug()<<"readIniComment open"<<fileName<<"failed!: error"<<file.error(); } else { qDebug() << "file opened!"; } QTextStream inStre原创 2016-08-12 16:29:24 · 639 阅读 · 0 评论 -
QtCreator 导入外部库方法
命令行编译参数 gcc windowInfo.cpp pkg-config –cflags –libs libwnck-1.0 .pro文件设置 - GCONFIG +=libwnck-1.0 - CONFIG +=c++11 link_pkgconfig原创 2016-08-12 16:24:20 · 3489 阅读 · 0 评论 -
计时器动画测试
QTimer::singleShot(7000, [=]{ qDebug() << “+++++”; m_powerTooltip->show(); m_powerTooltip->controlAnimation(false, m_powerSettingDHeaderLine->x()+m_powerSettingDHeaderLine->width());}原创 2016-08-12 16:22:49 · 276 阅读 · 0 评论 -
QT-Linguist Qt翻译工具
QT-Linguist工具主要用在项目的多语言翻译处理过程中,所有先简单介绍一下整个多语言处理过程,最后介绍Linguist的用法。(一)QT项目实现多语言,必须做两件事:1)确保每一个用户可见的字符串都使用了tr()函数。 2)在应用程序启动的时候,使用QTranslator载入一个翻译文件(.qm)。 tr() 的用法: ? 1 caseCheckBox = new QCheckB转载 2016-08-12 16:38:08 · 1608 阅读 · 0 评论 -
计算QString的长度
QFont myFont;QString str("I wonder how wide this is?");QFontMetrics fm(myFont);int width=fm.width(str);原创 2016-08-12 16:39:45 · 3019 阅读 · 0 评论 -
qt中pro文件写法
原文连接地址:http://www.seanyxie.com/qt%E4%B8%ADpro%E6%96%87%E4%BB%B6%E5%86%99%E6%B3%95/.pro文件是Qt creator组织Qt工程代码文件,使用qmake生成makefile,然后由mingw32或者nmake去编译。关于Qt project文件声明,对每一个参数 在Qt转载 2016-11-28 14:49:10 · 248 阅读 · 0 评论 -
获取挂载设备的信息 gio
使用GVolumeMonitor获取挂载设备的监控#include #include static voiddo_action(char* cmd){ g_print("[do_action] start to exec: %s\n", cmd); GError* error = NULL; g_spawn_command_line_sync(cmd, NULL,原创 2016-11-09 17:01:31 · 1342 阅读 · 0 评论 -
Qt 调用gio.h
https://developer.gnome.org/gio/stable/GVolumeMonitor.html#g-volume-monitor-get-mount-for-uuid.pro文件QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = mountdeviceTE原创 2016-11-09 16:54:45 · 1215 阅读 · 0 评论 -
图片的类型匹配
图片的类型如何判断,在处理图片中,用图片的后缀是不太可靠的,根据图片获取的图片数据进行数据类型匹配QFile file(filepath); if (!file.open(QIODevice::ReadOnly)) { qWarning() << "DetectImageFormat() failed to open file:" << filepath;原创 2016-10-27 15:59:04 · 407 阅读 · 0 评论 -
Qt学习入门
收录学习QtCreator的学习网站:http://www.devbean.net/2012/09/qt-study-road-2-events-accept-reject/ 学习QtCreator主要是因为它优良的跨平台性,和较为丰富的界面控件资料, 同时对于重载控件和修改控件皮肤的健壮的支持特点. 对于未曾写过应用程序界面的人来原创 2016-10-27 14:09:52 · 374 阅读 · 0 评论 -
配置Qt Creator检测不到默认的配置编译器
在终端删除配置文件: rm -rf ~/.config/QtProject* 重新打开QtCreator即可打开原创 2016-08-12 16:42:23 · 7673 阅读 · 0 评论 -
" undefined reference to `vtable for Class "
编译出现一排这个问题,吓死了,但是想想这应该不是什么未知的问题 百度 get nothing stackoverflow 自定义文件内部居然都没有声明Q_OBJECT 看了好多回答:get .pro 添加:QT += gui 可能是问题所在,本来有一行QT + =core gui 改写成了两行! QT += core QT +=gui原创 2016-08-12 16:40:38 · 321 阅读 · 0 评论 -
QSS控件的边框阴影效果和四个角的圆角设置
QFrame { " "background-color: transparent;" "border-top: 10px solid qlineargradient(y0:0, y1:1,\ stop: 0原创 2018-01-04 19:05:08 · 11215 阅读 · 0 评论