![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
文章平均质量分 71
davidsu33
这个作者很懒,什么都没留下…
展开
-
Qmake
Qmake的用法 1.变量的使用 Qmake提供了很多的内置变量,主要包含了项目构建相关的变量以及Qt自身相关变量,详细可以参见qmake Variable Reference,Qt也提供供了一些内置工具变量,这些变量可以在qmake生成的Makefile中看到,例如拷贝和 删除命令 QMAKE_COPY QMAKE_DEL等。 Qmake也提供了一些Qt自身环境的变量,这些变量可以通过qm原创 2017-08-29 15:10:16 · 1004 阅读 · 0 评论 -
控制QT中MainWindow上Menu和ToolBar的上下文菜单Action列表
QT在加入dock窗体和ToolBar的时候,会默认加上其相应的Action,当在MainWindow上右击会触发其上下文(默认的Action是他们的windowTitle属性)。那么如何控制不显示,或则定制弹出菜单呢,原来QT早有准备,在这方面预留了QMenu* MainWindow::createPopupMenu() [virtual]这个虚函数,用来返回当点击右键时触发要显示的弹出原创 2015-10-23 10:59:28 · 3388 阅读 · 0 评论 -
编译QT的静态库
我的QT的版本 4.7.4 msvc2010configure -debug-and-release -static -no-qt3support -commercial -platform win32-msvc2010nmake原创 2015-10-22 16:37:31 · 418 阅读 · 0 评论 -
Qt翻译问题msgid
QT的翻译还是有很多细节的,例如Qt linguist提供了msgid,如果指定一个QObject对象的msgid呢,如下/*= msgid1*/QObject::tr("测试1")/*=msgid2*/tr("测试2")按照如下的写法会将msgid相同的进行合并成一个翻译词条,所以如果发现你的源代码的翻译提取失败,请查看是否是因为你不小心将默认值影响了你的翻译导致的,原创 2015-09-29 10:15:38 · 752 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
PyQt4练习-通过代理打开一个QWebFrame 2015-7-2 15:24from PyQt4 import QtGui,QtCore from PyQt4 import QtWebKit from PyQt4 import QtNetwork import sysclass MainWindow(QtGui.QMainWindow): def init(self):原创 2015-07-02 15:23:25 · 913 阅读 · 0 评论 -
QT翻译上下文
QT翻译机制还是比较复杂的,实际翻译调用的是QCoreApplication的translate,如下:translate的参数除了翻译的原文之外,另外还有一个很重要的是context(也就是上下文),下面来看如下场景的写法,例如我边写了一个类,从QObject派上,而且加上了Q_OBJECT的宏,则演示代码如下:namespace FirstLevel { namespace Sec原创 2015-04-14 10:21:32 · 1161 阅读 · 0 评论 -
QT的翻译问题
今天给同事解决问题的时候碰到一个QT的翻译问题,调用了qt的翻译更新工具,结果出来的ts文件不正确。错误的情况如下,有两个ts需要提取的翻译文件,a.cpp b.cpp这两个文件的主要内容如下:a.cpp和b.cpp都是从一个qt的模型派生的类a.cpp/*Qt::Display*/xxxxxtr("文件")b.cpp/*Qt::Display*/原创 2015-04-13 17:49:41 · 1274 阅读 · 0 评论 -
QT编译qtdesigner
最近QT-designer不知道为啥所有电脑上的qt-designer都崩溃,没办法只能调试源代码,于是在qt4.7.4的源代码tools下,打开designer.pro,将其加载为QT的VS项目,编译designer发现报好多问题,简单的问题我就不多说了,几个比较简单的问题有:1.找不到lib_pch.h,找不到lib_pch.cpp,配置C/C++的include即可2.找不到qdes原创 2015-01-23 16:26:13 · 3233 阅读 · 3 评论 -
xlslib中使用中文字体
xlslib导出excel,不能直接使用中文的字体例如宋体,楷体,给成这样的字符(非asii),程序会直接报错崩溃,正确的做法是将中文名称的字体转换为英文,具体转换的对应关系如下所示:Mac OS的一些: 华文细黑:STHeiti Light [STXihei]华文黑体:STHeiti华文楷体:STKaiti华文宋体:STSong华文仿宋:STFan原创 2015-01-26 16:15:30 · 2013 阅读 · 0 评论 -
Qt的双缓冲技术(double buffering)
Qt的双缓冲技术(double buffering)是Qt绘画机制的一部分,是一种在Qt4中被全面采用的技术。其核心是:把一个窗口部件渲染到一个脱屏pixmap(off- screen pixmap)中,然后再把这个pixmap复制到显示屏幕上。这样做的目的是用于消除屏幕的闪烁并且因而界面会显得更漂亮。Qt4中,Qt会自动处理这些情况,所以在普通的绘画中,我们不必要关注这些内容。QT取消双转载 2014-10-20 20:53:22 · 5906 阅读 · 2 评论 -
深入学习QWidget-1
1.QWidget对事件的抓取和放手。主要有如下几个接口grabGesture 抓取输入手势ungrabGesture 取消抓取手势grabKeyboard 抓取键盘输入grabMouse 抓取鼠标输入releaseKeyboard 取消键盘输入releaseMouse 取消鼠标输入grabShortcut 抓取快原创 2014-10-19 23:26:51 · 2148 阅读 · 0 评论 -
在Web页中嵌入QT对象
根据最近读的QT高级编程,原来QT是可以在HTML中嵌入对象的,确实很厉害。于是自己动手写了一个Demo,中途出现了一点点问题,js执行有问题,看来要提交javascript了,我感觉python也应该适当提高提高了。下面要重点提一下我犯的错误。计算矩阵">Qt's Plugin Load Failedid="leftMatrix" pos="0, 200" size="原创 2014-10-15 23:17:53 · 3046 阅读 · 0 评论 -
QWebKit-QWebElement
实现读取页面功能,用到原创 2014-10-12 22:55:48 · 3310 阅读 · 0 评论 -
QWebKit-QWebFrame手动加载Html文件只显示Html的Head问题
今天另存了一个Html网页想通过QWebElement原创 2014-10-12 18:16:39 · 1776 阅读 · 0 评论 -
QWebKit对Html文件的解析
额外知识:C++的HTML和CSS解析器 htmlcxx原创 2014-10-10 22:40:51 · 1485 阅读 · 0 评论 -
QtXMLPattern的基本概念
XQuery是查询语言,就像SOL一样。XPath是路径表达语言,它用来描述XML文档的树形结构。Schema它是微软提供的XML文档验证语言,它用来验证XML文档是不是良构,同样用来定义XML元素,属性,数据的类型等等,至于XForm,现在W3C对其没有明确的定义,所以应用不是很广泛,而XSLT它是一种转换语言,它可以用来将XML文档形式的数据转换成HTML,TXT,XML文档。转载 2014-10-10 21:28:33 · 2527 阅读 · 0 评论 -
QWebKit-Qt利用DOM API访问网页元素(百度博客下载例子)
Qt-4.6.0新增的一个功能就是QtWebKit提供了利用DOM访问管理网页的接口。所谓DOM(文件对象模型),就是把一个HTML网页内容以一个带层次结构的对象来处理,比如网页中的标题,段落,图表等都是这个层次对象中的一个节点。这些节点可大可小,顶级节点就是整个文档,最小的节点可以是网页中的一个链接,或者一个图片。利用DOM就能很方便的提取和处理网页中用户所感兴趣的内容。下面用一个对百度转载 2014-10-12 11:02:22 · 2124 阅读 · 0 评论 -
关于编写QT国际化程序中需要注意的问题
第一:代码编写代码编写的过程中需要注意的有如下几点:1.在OQbject的子类中使用tr("翻译字符串")的话,需要在其子类中加上Q_OBJECT,因为QT的翻译会使用上下文,如果不加上Q_OBJECT则会 将其命名空间修改为子类的名称,导致无法找到翻译词条。在qt的lupdate提取词条的时候,会提取到其子类的命名空间下。2.如果不想给QObject的子类增加Q_OBJECT原创 2015-11-05 10:30:20 · 935 阅读 · 0 评论 -
Qt的三方库
QxOrm QxOrm is a new open source ORM (Object Relational Mapping) C++ library designed to provide :* Persistence (based on QtSql Qt module)* Serialization (xml and binary, based on转载 2015-10-26 11:02:45 · 2496 阅读 · 0 评论 -
QAxWidget
Qt直接支持ActiveX对象,所以在QT中可以直接使用QAxWidget,也就是窗口控件对象。例如word,excel,powerpoint,pdf,flash等。对于doc,excel,ppt的文档格式可以直接将文件路径作为控件进行设置QAxWidget->setControl("E:/test.doc");直接会加载word应用打开doc文档,其他的微软格式也是这样的。如果不是微软的原创 2015-10-13 14:12:48 · 6411 阅读 · 0 评论 -
Qmake recursion
Qmake递归Qmake的对象可支持任意深度,Qmake的函数调用可以支持递归(不能超过深度100次调用)超过一百次认为是死循环会报错a.lib = alib_1 alib_2 SINGLE_MODULE = b c d e f g h i j for(i, SINGLE_MODULE){ #变量符合一个”.”的字符串,请使用$$quote eval($${i}$$quote(.lib原创 2017-08-29 15:08:32 · 444 阅读 · 0 评论 -
QMake的高级用法
使用QMake构建多个定制目标,如下是我写的测试程序,环境Linux (ubuntu) gcc5.4 1 #使用qmake来生成多个目标,也可以将目标直接集成到现有的make对象中 2 #(在生成直接对象的时候,生成其他目标对象) 3 4 TEMPLATE = app 5 CONFIG -= qt app_bundle 6 CONFIG += c++11原创 2017-06-29 10:30:03 · 1742 阅读 · 0 评论 -
Linux下解决qtcreator中不能输入中文的问题
在Ubuntu环境下用了两天Qt,今天突然发现在Qt 5的代码编辑器里面居然无法输入中文!生成的输入框也同样无法输入中文!在其他软件里面把中文复制过去,调试也没发现有任何显示问题,搜索了一下,原来是输入法框架的问题。再看一下解决办法,各种各样:装软件、复制中文支持文件、写脚本、改系统配置,甚至还有重新编译一个程序来实现的,真是八仙过海,各显牛逼。软件出现漏洞很正常,但是这么有名的产品,我是转载 2017-05-24 11:15:44 · 19797 阅读 · 8 评论 -
qfiledialog不能翻译的问题(始终显示系统的对话框)
QFileDialog的Option中有一个选项,DontUseNativeDialog,增加该选项即可。原创 2016-05-12 11:24:00 · 1136 阅读 · 0 评论 -
js和qt4 evaluteJavascript
#coding=utf-8__author__ = 'ds'from PyQt4.QtCore import *from PyQt4.QtWebKit import *from PyQt4.QtNetwork import *from PyQt4.QtGui import *import sys,osclass Page(QWebPage): def __init__(原创 2016-04-11 19:59:52 · 670 阅读 · 0 评论 -
qwebview打开图片链接
默认的qwebview,点击图片等链接,是不能直接打开的,我查阅了一下,原来是有些配置没有指定而导致的,具体设置如下:#coding=utf-8__author__ = 'Administrator'from PyQt5.QtWebKit import *from PyQt5.QtWidgets import *from PyQt5.QtWebKitWidgets import *原创 2016-04-08 16:52:25 · 1115 阅读 · 0 评论 -
使用qwebpage来下载资源
#coding=utf-8__author__ = 'ds'from PyQt4.QtCore import *from PyQt4.QtGui import *from PyQt4.QtNetwork import *from PyQt4.QtWebKit import *import threadimport threadingimport os,sysDEFAULT_原创 2016-04-05 23:47:38 · 1239 阅读 · 0 评论 -
从qwebkit读取下载的数据
主要有如下几个要点1.从qwebview中获取qnetworkaccessmanager,然后重写createRequestQNetworkReply *myNetworkAccessManager::createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData){ QNetw原创 2016-04-04 23:49:04 · 969 阅读 · 0 评论 -
qt截获html请求
QtWebkit加载html页面,html中会有很多的请求,比如等等,如果想截获这些请求,然后自定义应答...1.定义一个类,继承QNetworkAccessManager(请求)#ifndef NETWORKACCESSMANAGER_H#define NETWORKACCESSMANAGER_H#include #include #include #转载 2016-04-04 22:02:06 · 1254 阅读 · 0 评论 -
关于Qt中QWidget的setParent的使用方法
setParent可以用来切换一个QWidget所对应的父窗口,因为Qt中所有的widget都是基于父子关系的,所以如果是布局在一个上面的,那么其子控件的parent应该是上层的QWidget,这里特别要注意的是,setParent是有两个接口的,一个是setParent(QWidget *parent),一个是setParent(QWidget* parent, Qt::WindowFlag原创 2016-03-31 11:27:07 · 22584 阅读 · 4 评论 -
使用pyqt自动登录5sing.com
#coding=utf-8__author__ = 'Administrator'import sysfrom PyQt4 import QtCore, QtGui, QtWebKit, QtNetworkBD_URL = 'http://www.sina.cn'BD_URL = 'http://5sing.kugou.com/fc/14217069.html'LOGIN_URL原创 2016-03-18 15:42:46 · 1690 阅读 · 0 评论 -
qmake
qmake有许多配置选项,例如debug,release, debug_and_release,build_all,ordered,precompile_header,warn_on,warn_off,以及plugin选项,plugin选项可以控制仅生成一个动态库,(尤其在linux下比较有用)原创 2015-12-07 09:28:10 · 488 阅读 · 0 评论 -
qmake中qmake_post_link的使用
编译前执行QMAKE_PRE_LINK = cp - f [source] [destionation]编译后执行QMAKE_POST_LINK = cp - f [source] [destination]执行多条命令The answer is: ' & ' (Logic AND)Here is an example I have used for addi转载 2015-12-07 09:14:15 · 7955 阅读 · 5 评论 -
qmake编译选项的控制(debug|release)
在 Qt 编程中,多数人用的都是 qmake,并编写相应pro文件。实际中经常需要对 debug 与 release 两种编译模式 设置不同的选项,比方说链接不同库遇到该问题,简单看看qmake的manual,不少人都会写出类似下面的内容: debug {LIBS += -L../lib1 -lhellod}release {LIBS += -L../lib2转载 2015-12-03 21:45:41 · 13685 阅读 · 1 评论 -
编写无窗口qwidget时,不带frame的用法
如果希望设计一体式的界面,例如腾讯QQ或者是360安全卫士那样的,就需要将窗体的边框全部去掉,自己进行绘制,这是时候需要设置窗体的属性,来移除边框,需要满足两个条件1.需要从QWidget派生2.需要setWindowFlag(Qt::Window|Qt::FramelessWindowHint); 特别需要注意的是第二点,第二点的第一个属性可以是Qt::Window也可以是Qt::W原创 2015-10-28 15:04:03 · 809 阅读 · 0 评论 -
关于QT的widget如何获取键盘输入
所有的窗口都只有一个是激活的,只有激活的窗口才能获取鼠标和键盘事件,QT中的widget默认是无法接受鼠标输入事件的,如果希望捕捉键盘事件,则需要调用grabKeyboard(),如果需要捕捉当前的鼠标事件,同样的道理,grabMouseEvent(),那么当前发送的鼠标和键盘事件就会让该widget接收到。原创 2015-10-29 17:30:32 · 7951 阅读 · 0 评论 -
QNetworkAccessManger的用法
#include "accessweather.h"#include #include #include #include #include #include AccessWeather::AccessWeather(QObject *parent) : QObject(parent){ m_accessWeather = new QNetworkAccessManage原创 2014-10-10 00:40:49 · 4063 阅读 · 0 评论 -
QtNetwork用法(二)之使用QT实现360的ctrl+ctrl功能
头文件描述:#ifndef GOOGLESUGGEST_H#define GOOGLESUGGEST_H#include #include #include QT_BEGIN_NAMESPACEclass QLineEdit;class QNetworkReply;class QTimer;class QTreeWidget;QT_END_NAMESPACE//!原创 2014-10-10 16:02:28 · 2384 阅读 · 0 评论 -
VS2010支持的源代码格式
今天在测试QT的跨平台显示的时候,试了一下发现,将源文件修改为U原创 2014-06-05 15:45:37 · 1363 阅读 · 1 评论 -
qtclucene全文检索
用QT也已经三四年了,今天从QT的tools中看到qtclucene,原来这个就是从clucene移植过来的一个全文检索工具,用在QTHelp中。下面是clucene的说明:CLucene是Lucene的一个C++移植,Lucene是一个基于java的高性能的全文搜索引擎。CLucene因为使用C++编写,所以理论上要比lucene快。[1]Lucene不是一个完整的全文索原创 2014-05-19 14:33:57 · 2225 阅读 · 1 评论