QT
文章平均质量分 90
javaweb_research
热爱生活 为了梦想和责任去奋斗
展开
-
vs 2010 build qt 4.7 error(转)
编译大概1个小时之后,出现:01.api\qscriptextensionplugin.h(43): Error: Undefined interface 02.NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1' 03.Stop. 04.NMAKE : fatal er转载 2011-11-28 15:09:31 · 900 阅读 · 2 评论 -
QT visual assist x不能稳定工作
在va option中project下c/c++ directories中platform选custom,再在下面添加“d:\Qt\4.4.3\src”就可以了。半信半疑地试了一下,果然没问题了原创 2011-11-29 12:15:31 · 1762 阅读 · 0 评论 -
用QT实现的用于显示输入IP的LineEdit控件
QT下没有可以直接用于输入IP这种字符串的控件,自己写了一个。 可以实现根据用户设置的控件大小画出正确的外观,验证输入数字在正确范围内,提供了简单的代码设置获取IP的接口。尚缺少连续输入和删除功能。 废话少说,贴代码优先,详见注释~//.h file#ifndef IPLINEEDIT_H#define IPLINEEDIT_H#include转载 2011-11-30 16:46:12 · 1865 阅读 · 0 评论 -
QT4.7 vs2010
第一步:安装VS2008 第二步:去QT官方网站http://qt.nokia.com/downloads下载2个软件下载安装VS2010编译过的QT库4.7:qt-win-opensource-4.7.0-vs2008.exe 下载安装VS2010的QT集成插件:qt-vs-addin-1.1.6.exe 在VS2010的菜单栏上会多了个QT菜单 YCFHQ-9DWCY转载 2011-12-01 10:35:17 · 435 阅读 · 0 评论 -
Qt属性setProperty & property [转载]
1.属性有什么用?由于c++类具备封装特性,不推荐对类成员变量(class variables)进行直接存取。现代编译器引用属性(property)的概念,对成员变量进行安全的存取。比如在win平台下 vc7有类似于__property或[property]的支持。Qt由于要实现其跨平台(cross platform),引入一套独特的属性系统。其底层是由meta compiling进行支持。转载 2011-12-01 10:45:28 · 1652 阅读 · 0 评论 -
QT phonon在windows下的编译
最近需要用windows下的qt写一些界 面,里面用到qt的多媒体框架phonon,我用的是qt- 4.5.3。从官网上下载安装的qt本身并没有把phonon集成进去,只是提供了源码。自己在编译phonon时遇到一些问题,网上相关讨论不少,但很 少是关于windows下phonon的编译的,所以我在这把我编译phonon的过程系统的描述下,希 望能帮到大家。假设qt的安装目录是xx转载 2011-12-01 15:27:38 · 1060 阅读 · 0 评论 -
Qt显式调用C++写的dll + 外一篇
这些天在做一个工程,要用到Qt,所以特别研究了一下Qt显式调用链接库的问题。隐式调用就不那么想用了,个人感觉隐式调用既浪费内存,造成程序启动速度极慢,又容易造成链接错误(本人在ogre中深受链接错误之苦),所以只用了显式调用。以前只试过在MFC中显式调用dll,在Qt上还没试过。其实细细研究一下,相对于MFC的调用来说,Qt的调用也是大同小异的。在这里分享一下。 首先用VS写一个dll先(名字转载 2011-12-01 09:25:45 · 1097 阅读 · 0 评论 -
Qt程序依赖库编译选项
Qt编程4个多月以来,对于工程文件的组织一直有着更深入的理解。从起初的.pro,Makefile,.h,.cpp,.o,.moc,*_ui.h,.so等一股脑的放到工程文件,到后来有组织的将文件分门别类的放到各个项目子目录下,工程目录给人感觉越来越显得更professinal一些了。 然而对于编译后的动态库文件依赖关系的处理,近期随着工程代码的不断膨胀,依赖库的不断增多,变得越来越重要了转载 2011-12-01 09:34:06 · 1146 阅读 · 0 评论 -
QT皮肤(QSS)编程
借用css 的灵感, Qt也支持Qt自己的css, 简称qss。同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样,css机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用程序也能像web界面那样随意地改变外观。一、QSS语法同css一样,他也有由一个selector与一个decl转载 2011-12-01 09:59:00 · 1136 阅读 · 0 评论 -
QT应用程序单实例运行
我们经常会做一些软件、程序只希望有最多一个运行实例。我从网上找到了个方法,虽然现在还不太明白原理,但是这种方法总算会用了。原文摘自:http://dev.firnow.com/course/3_program/c++/cppxl/20100531/206675.htmlint main(int argc, char *argv[]){ QApplication a(arg转载 2011-12-01 10:01:17 · 1034 阅读 · 0 评论 -
QWidget与HWND的互相转换
在编写Windows的应用程序时,我们有时不可避免地要与Windows平台固有的Win32 API打交道,但是Win32 API里面常常用到的HWND等诸多句柄QT并没有。QT作为一款优秀的跨平台GUI库,不可能未作考虑,那么需要互相转换的时候该如何做呢? HWND转QWidgetQWidget *myWidget;HWND hwnd;myWidget=QWidget::f转载 2011-12-01 10:01:43 · 662 阅读 · 0 评论 -
QT Creator入门教程
点击打开链接转载 2011-12-01 10:03:06 · 1447 阅读 · 0 评论 -
数组、链表、哈希……Qt中丰富的容器类
在C++里做大型程序时,少不了要与数组、链表等数据结构打交道。就是最简单的字符串也常常让头痛万分,Qt中有QString解决了字符串的头痛,那么其他数组等有没有更简单的解决方案呢?Qt作为一款优秀的类型库,当然不会没考虑这些。Qt提供了大量的“容器类”,专门用于以某种方式存储大量内容,QString其实只是这大量的容器类的一种。我在这里介绍:QVector(数组)、QLinkedLis转载 2011-12-01 10:04:07 · 1010 阅读 · 0 评论 -
QWidget QMainWindow QDialog 之间的区别
QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。主窗口通常用在提供一个大的中央窗口部件转载 2011-12-01 11:14:16 · 1072 阅读 · 0 评论 -
Windows下如何使用QT编写dll程序
点击打开链接转载 2011-12-01 09:29:19 · 959 阅读 · 0 评论 -
Qt开发应用程序Debug与Release设置
一般来说,release版的可执行程序在体积上比起debug版要小很多(数倍甚至数十倍的差异),而且由于剥离了许多调试信息及符号等运行效率相对也高一些。然而在使用Qt开发中偶尔也会遇到及时选择了release版生成的二进制文件仍然很庞大的问题。所以要仔细检查一下相关设置,保证最后发布出去的版本是release版。1、前提: 在生成Qt库时(./configure)已经配置为 + -d转载 2011-12-01 09:31:40 · 1100 阅读 · 0 评论 -
QT生成在Windows下有图标的exe文件(IDE=QT Creator)
我个人十分喜爱QT Creator的IDE界面与操作,但是也许是尚未完全成熟或者是为了代码跨平台,有些功能并没有直接提供。比如Windows下做软件,至少作为主程序或启动程序的exe文件一般都应该有自己的图标,QT Creator虽然可以轻松地设置窗口的小图标,但并没有提供设置exe文件图标的功能。其实做起来并不难。 ·首先当然要准备一个.ico图标文件(假定为myIcon.ico转载 2011-12-01 10:00:44 · 949 阅读 · 0 评论 -
常见的几个Qt编程问题的处理
1、如果在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的closeEvent()函数,加入判断操作引用 void MainWindow::closeEvent(QCloseEvent *event){ if (maybeSave()) { writeSettings(); eve转载 2011-12-01 13:23:35 · 992 阅读 · 0 评论 -
qt中定时器Timer的使用
有两种方法实现定时器。第一种。自己建立关联。1.新建Gui工程,工程名可以设置为timer。并在主界面上添加一个标签label,并设置其显示内容为“0000-00-00 00:00:00 星期日”。2.在mainwindow.h中添加槽函数声明。private slots:void timerUpDate();3.在mainwindow.cpp中添加代码。添加#incl转载 2011-12-01 17:06:58 · 1233 阅读 · 0 评论 -
QT实例:从QListWidget中删除选中的QListWidgetItem
QList list = ListWidget->selectedItems(); if(list.size() == 0) return; QListWidgetItem* sel = list[0]; if (sel) { int r = ListWidget->row(sel); ListWidget->takeItem(r); }转载 2011-12-01 17:36:26 · 1400 阅读 · 0 评论 -
QListWidget用法
setSelectionMode()设置list一次最多可以选择多少item有两种方法来listwidget中添加Item,一种是在item构造时候,指定父widget,如果item构造时候QListWidget已经存在,可以用下面的方法new QListWidgetItem(tr("Oak"), listWidget);第二种方法是构造完item,在使用QListWidget转载 2011-12-02 10:23:16 · 608 阅读 · 0 评论 -
QT树控件 QTreeView
看了下面的例子,你就明白了方法一:使用QDirModel进行目录的现实,QDirModel是QT中专为文件目录树型显示所提供的一种model。 具体使用如下:#include int main(int argc, char *argv[]){ QApplication app(argc, argv);QSplitter *splitter = new QSplitter转载 2011-12-02 16:41:56 · 674 阅读 · 0 评论 -
Qt添加图片
label->setPixmap(QPixmap("./pic.jpg")); 或者像二楼的话:QImage *image= new QImage("./pic.jpg"); label->setPixmap(QPixmap::fromImage(image));再或者在中途换某个图像的话: QImage *image= new QImage("./pic1.jpg转载 2011-12-02 10:21:32 · 652 阅读 · 0 评论 -
一个Qt 网址
http://blog.csdn.net/xie376450483/article/category/701353原创 2011-12-02 10:24:36 · 455 阅读 · 0 评论 -
用qt实现类似qq截图的工具
#include "widget.h"#include "ui_widget.h"#include Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); createWidgets(); createCo转载 2011-12-02 16:32:51 · 776 阅读 · 0 评论 -
QT在代码中正常使用中文
在QT中使用中文往往会出现乱码问题。这种问题很容易解决。 修改main.cpp(含有main函数的文件) #include //添加一个头文件...int main(int argc,char *argv[]){ QApplication a(argc,argv);//支持中文编码 QTextCodec *codec=QTextCodec::code转载 2011-12-01 10:00:03 · 990 阅读 · 0 评论 -
linux 下安装phonon
关于qt embedded phonon 安装问题。可能在安装$sudo ./configure -phonon -phonon-backend .....的时候会说找不到phonon ,很明显因为没有这个phonon这个库,当然就会找不到,在编译的时候,特别是./configure -phonon -phonon-backend当编译很段时间后会说:Phonon support ca转载 2011-12-02 12:20:16 · 847 阅读 · 0 评论 -
Set QListWidgetItem height basing on contents
#include int main(int argc, char *argv[]){ QApplication a(argc, argv); QListWidget list; for (int i = 0; i < 10; ++i) { QListWidgetItem *item = new QListWidgetItem(); l原创 2011-12-05 11:02:01 · 579 阅读 · 0 评论 -
QListWidget用法
setSelectionMode()设置list一次最多可以选择多少item有两种方法来listwidget中添加Item,一种是在item构造时候,指定父widget,如果item构造时候QListWidget已经存在,可以用下面的方法new QListWidgetItem(tr("Oak"), listWidget);第二种方法是构造完item,在使用QListWi转载 2011-12-06 10:04:55 · 489 阅读 · 0 评论 -
Qt读写注册表和ini文件
Qt刚上手,用起来有点感觉功能很强大,但是资料太少。刚才上网查Qt怎么操作注册表,可网上几乎找不到什么东西。就去查Qt文档,摸索了一会儿,总算摸索出来了。相当简单。竟比Delphi还简单,比起VC就更不用提了。需要#include 只举几个简单的例子:1、用QSettings写注册表+ expand sourceview plaincopy to clipb转载 2011-12-07 09:08:34 · 507 阅读 · 0 评论 -
信号--槽 可以 将 结构体对象作为参数
要用qRegisterMetaType()进行注册比如:namespace A{struct B{}}qRegisterMetaType("A::B");这样就能在signal/slot里使用A::B类型了,比如emit signalTest(A::B value);原创 2011-12-09 14:24:55 · 432 阅读 · 0 评论 -
类和结构体的区别
1. class和structure很相似, 从技术层面讲,class是引用,而structure则是数值. 有人很形象的说 class里有行动,方法,成员,是有机体的结合,而structure则是活生生的有机体, 2. 通俗的理解,class包涵structure, class里有方法拉,成员拉,什么滴, 而structure只有数据,转载 2011-12-09 13:07:37 · 315 阅读 · 0 评论 -
QFileDialog::getExistingDirectory
The QFileDialog::getExistingDirectory does what I want, thanks. Seems a strange name for the function, I'm not surprised I couldn't find it!原创 2011-12-09 14:29:12 · 1758 阅读 · 0 评论 -
Qt多线程应用--QRunnable
作为Qt类中少有的基类, QRunnable提供了简洁有效的可运行对象的创建. 用QRunnable来创建独立的运行对象来运行 不涉及界面元素的数据处理过程 非常合适.优点: 创建过程简洁, 使用方便, 配合着自身的autoDelete特性, 有点“招之即来, 挥之即去”的感觉.缺点: 无法实时提供自身的运行状态.举个处理过程中反馈进度的例子 main.cpp转载 2011-12-13 17:15:09 · 689 阅读 · 0 评论 -
深入Qt 学习 -- 反射机制
相对于Java天生的这一特性, C++并不具备;但进入到Qt领域,这一切都变得简单自如了。从Qt的元对象系统可知,除了提供信号/槽机制的特性之外,它还提供了以下特性:■ QObject::metaObject()返回关联的元对象■ QObject::className()在运行时状态下返回类名■ QOb转载 2011-12-13 17:14:36 · 1781 阅读 · 0 评论 -
Qt自定义外观--自定义标题栏的窗口
因为标题栏属于窗口管理器控制,也就受限于操作系统, 所以直接利用Qt来修改是不可行的! 通常情况下利用Qt我们可以自定义标题栏, 这里提供一个简单的例子! 例子比较简, 大致思路是正常创建窗口后, 屏蔽标题栏, 通过布局将 一个QLabel和三个按钮 构成一个“标题栏”放置在顶端(视个人喜好, 位置可以任意放置), 重新实现必要的事件。下面分步骤进行:1. 创建窗口, 屏蔽转载 2011-12-13 17:13:58 · 1392 阅读 · 0 评论 -
让QTreeWidget中的项目有复选框(
1,调整列宽: header()->setResizeMode(QHeaderView::Interactive); setColumnWidth( 0 , 200 ); //第一列宽设为2002,单击tree widget 的 header 自动重新排列各item,设置如下: setSortingEnabled(true);3,拖曳: se转载 2012-01-05 15:42:05 · 886 阅读 · 0 评论 -
QTableWidget的使用和美工总结
基本外观设置FriendTable->setFrameShape(QFrame::NoFrame); //设置边框FriendTable->setHorizontalHeaderLabels(HeadList); 设置表头FriendTable->setSelectionMode(QAbstractItemView::SingleSelection); 设置选择的模式为单选择转载 2012-01-05 15:45:19 · 638 阅读 · 0 评论 -
qt globalPos() 与pos()
唉 今天做一个无标题栏的窗体移动+拖动改变大小的Qdialog 遇到globalPos() 与pos() 网上大都说 globalPos()是相对于窗体的 pos()相对于屏幕的 经过测试globalPos()是相对于屏幕的坐标, pos()是窗体左上角相对于屏幕左上角的坐标原创 2012-01-12 16:48:14 · 1430 阅读 · 0 评论 -
Qt moc 功能和限制
moc的功能数一数1、处理Q_OBJECT宏和signals/slots关键字,生成信号和槽的底层代码2、处理Q_PROPERTY()和Q_ENUM()生成property系统代码3、处理Q_FLAGS()和Q_CLASSINFO()生成额外的类meta信息4、不需要moc处理的代码可以用预定义的宏括起来,如下:#ifndef Q_MOC_RUN…#endifmoc转载 2012-01-16 09:50:31 · 712 阅读 · 0 评论