Qt
zack8712
这个作者很懒,什么都没留下…
展开
-
漂亮的Qt控件 QSS代码例子
漂亮的Qt控件 QSS代码例子Qt Style Sheets ExamplesWe will now see a few examples to get started with using Qt Style Sheets.Style Sheet UsageCustomizing the Foreground and Background C转载 2015-07-07 22:31:45 · 3264 阅读 · 0 评论 -
Qt中线程跟信号槽的关系
//转自:Qt中有方便的信号和槽函数来完成我们各个类之间的调用。其中关于对象在线程中信号和槽的执行方式是值得瞧瞧的。这里我做了一点实验。说明请看代码注解和qDebug输出主窗口(这里介绍了各种连接信号方式)Cpp代码 #include "widget.h" #include "ui_widget.h" #include转载 2014-09-25 09:17:13 · 822 阅读 · 0 评论 -
Qt之信号与槽
在遇到多信号问题的时候,你是否经常会连接多个槽函数呢?如果你的答案是绝对的,那么你已经Out很久了。多信号连接多个槽,实现不同的槽就在潜意识的加大程序的开销!那么为什么不去链接同一个槽呢? 今天在次写下这篇文章,感觉有些唐突,但是又不得不写!因为信号与槽是Qt里面的最基础而且是最重要的部分,有很多人问过我关于信号与槽的问题,就总结一下。Qt主要包括:Qt基础部分(Qt入门、Q转载 2014-09-25 09:08:57 · 514 阅读 · 0 评论 -
Model/View Framework
最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章。E文的除了Qt的官方介绍,其它文章也很少。看到一个老外在blog中写道Model/View是他认为Qt中最不好的一部分了。真的是这样吗?为了回馈开源社区,我写了这篇blog,写的是我认为比较有价值的东东。题目起得是解析,但也没有特别细节的介绍,点到为止,有兴趣的Tx可以继续讨论。我所看转载 2014-09-03 20:17:01 · 475 阅读 · 0 评论 -
让你的 Qt 桌面程序看上去更加 native(五):QDialog
虽然 Nokia 刚刚宣布和微软合作,推出 WP7 的智能手机,现在 IT 界依然一片哗然(不过也是在意料之中),但这并不会影响我们对于 Qt 的兴趣。好了,现在我们来看的是关于 QDialog 的一些东西。首先先来看 QDialog 的一副截图(出自 Qt Developer Day, 2009):在这里,我们要注意的是不同平台之上对话框的按钮的不同。其实这是同一段代码编转载 2014-09-23 22:46:37 · 436 阅读 · 0 评论 -
让你的 Qt 桌面程序看上去更加 native(六):跨平台技术
现在,我们将给出有关 Qt 的一些跨平台技术。利用这些技术,能够让你的应用程序看起来更加符合平台的习惯。这次内容不是一个完整的例子,而是很多小的条目,希望大家了解到这些简单的 tip,从而可以方便的应用到自己的程序中。很多 GUI 的问题就在于一个知道不知道。你知道,就可以很方便的实现,不知道,恐怕就会变得很笨拙。今天的目的,不在于例子,而在于让你“知道”。一、显示内容修改有时,我转载 2014-09-23 22:47:53 · 413 阅读 · 0 评论 -
让你的 Qt 桌面程序看上去更加 native(三):自定义 style
前面我们一再强调,Qt 使用自己的方式绘制组件。然而我们也看到,在不同的平台上,Qt 的组件表现也不相同。这和 Swing 有些类似:Swing 使用 look and feel 表现组件的外观,Qt 也是类似的。用来绘制组件外观的类就是 QStyle。 需要说明一点,组件的 style 是一个非常复杂的内容,仅在这里不可能全部讲解清楚。如果需要,还是要自己仔细阅读相关文档。另外,转载 2014-09-23 22:42:40 · 519 阅读 · 0 评论 -
让你的 Qt 桌面程序看上去更加 native(二):Style
我们先从 Style 说起。所谓 Style,也就是风格。可以理解成把程序一运行起来,第一眼看上去的的样子,也就是程序的第一印象。这种第一印象往往左右着用户的想法。例如,safari 原本是 Apple 在 MacOS 下的一款浏览器。后来,Apple 把它移植到 Windows 平台,但仍旧保留了 Apple 的外观。这样一来,尽管 safari 看起来很华丽,却与 Windows 的风格格格不转载 2014-09-23 22:42:39 · 479 阅读 · 0 评论 -
让你的 Qt 桌面程序看上去更加 native(一):简介
《让你的 Qt 桌面程序看上去更加 native》是一个系列文章。在这个系列中,你将会了解到如何让你的 Qt 桌面应用程序看上去更加 native。这里,我假设你已经清楚如何使用 Qt 编写桌面应用程序,因为文章中大多都是所谓的“细节”,而有时候恰恰是这些“细节”决定着用户体验。同时,这里的程序都是指桌面程序,不包括各个嵌入式平台。关于 Qt 的介绍这里就不再赘述。这里只说明一点,相比其他转载 2014-09-23 22:37:52 · 627 阅读 · 0 评论 -
让你的 Qt 桌面程序看上去更加 native(四):style sheet
临近春节,更新也慢了许多。今天再来写一篇,不知道会不会是春节前的最后一篇了。豆子先祝大家新春愉快!我们知道,HTML 仅仅被定义为一种内容布局的语言。也就是说,HTML 应该做的,是告诉浏览器,这个东西应该放在这里,那个东西应该放在那里。至于这些东西该怎么显示,例如,用红色还是用蓝色,这样的显示的定义应该交给 CSS 去做。所以,在新近版本的 HTML 中,font、color 这样的标签转载 2014-09-23 22:43:29 · 401 阅读 · 0 评论 -
Qt::ConnectionType 解析
signal/slot在底层会使用三种方式传递消息。参见QObject::connect()方法:bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::Aut转载 2014-09-25 09:31:22 · 340 阅读 · 0 评论 -
Qt __FILE__,__LINE__
以前用c的时候原创 2014-09-28 12:56:34 · 2394 阅读 · 0 评论 -
QSlider 的样式设置
设计漂亮的style sheet,注意背景色..否则每个角上会有一个像素的小点..[plain] view plaincopyQSlider::groove:horizontal { border: 1px solid #4A708B; background: #C0C0C0; height: 5px; border-转载 2014-10-06 13:57:54 · 1720 阅读 · 0 评论 -
QSortFilterProxyModel
QSortFilterProxyModel原创 2015-03-31 23:13:03 · 1294 阅读 · 0 评论 -
QT_pro_模板
转自:http://blog.chinaunix.net/uid-23670869-id-2391679.html模板模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。lib - 建立一个库的makefile。v转载 2015-01-15 10:02:43 · 394 阅读 · 0 评论 -
Qt mvc二
继续上次的例子,对于list才说只有行,讨论列是没有意义的。 bool insertRows(int row, int count, const QModelIndex &parent); bool removeRows(int row, int count, const QModelIndex &parent);在文档中,insertRows是这么写的,在支持这个转载 2014-10-18 16:46:41 · 412 阅读 · 0 评论 -
Qt mvc学习一
mvc是经典的三层结构,将数据,视图和逻辑分离。Qt中的Model/View框架,实现了这个模式。在Qt中这个模式设计到三个类,model类,view类和delegate类。model类保存数据,view复制显示,而delegate负责协调model和view之间的数据edit(编辑)和render(渲染)。 这些在model子类中需要实现的方法可转载 2014-10-18 16:43:12 · 646 阅读 · 0 评论 -
Qt mvc 三
前面两节讲的model是一维的,这次开始二维的也就是我们常说的Table,相对与list,我们多了一个列的概念。下面讲解一个例子。我先说明一下我们这个例子,在程序目录下,我们有一个文本文件,其中存放的学生信息。数据存放的格式学号 姓名 性别xxx xxx x每个学生的信息占一行,现在我们需要将这个文转载 2014-10-18 16:45:01 · 554 阅读 · 0 评论 -
Qt mvc四
上次提到对student类属性的描述是侵入式的,这次介绍非侵入式的,其实我也就是借鉴了便准库中的traits,了解的同学应该都知道,不了解的可以查查。我定义了一个类模板,Members,对于类student模板提供了一个特化[cpp] view plaincopyprint?/*****************************转载 2014-10-18 16:47:18 · 491 阅读 · 0 评论 -
Qt的Model/View Framework解析
最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章。E文的除了Qt的官方介绍,其它文章也很少。看到一个老外在blog中写道Model/View是他认为Qt中最不好的一部分了。真的是这样吗?为了回馈开源社区,我写了这篇blog,写的是我认为比较有价值的东东。题目起得是解析,但也没有特别细节的介绍,点到为止,有兴趣的Tx可以继续讨论。我所看转载 2014-10-18 16:40:55 · 533 阅读 · 0 评论 -
QSS资料
借用css 的灵感, Qt也支持Qt自己的css, 简称qss。同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样,css机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用程序也能像web界面那样随意地改变外观。一、QSS语法同css一样,他也有由一个selector与一个decl转载 2014-10-04 00:08:56 · 409 阅读 · 0 评论 -
NSIS学习笔记(以Qt4程序打包为例)
一个Qt4程序安装(发布)后它应该有如下的结构(可参考 Qt 程序在 windows 下的发布 ):|-- sample.exe|-- QtCore4.dll|-- QtGui4.dll|-- imageformats/| |-- qjpeg4.dll接下来我们使用nsis,来制作一个实现这个功能的安装程序(并稍作完善)如果你还没有安装nsis,不妨马上去下转载 2014-10-11 22:20:34 · 579 阅读 · 0 评论 -
qstringlist 迭代风格
QStringList list; list "1" "2" "3"; //类似perl/python和java1.5风格的for循环 foreach (const QString &str, list) { qDebug() QString("%1").arg(str); } //c++stl风格迭代原创 2014-10-06 22:10:14 · 1529 阅读 · 0 评论 -
QTableWidget翻译
1) QTableWidget::QTableWidget ( QWidget *parent = 0 ) //构造一个父对象为parent的TableWidget。2) QTableWidget::QTableWidget ( int rows, int columns, QWidget *parent = 0 )//构造一个rows行、colums列、父对象为parent的TableWid转载 2014-08-28 17:07:38 · 1409 阅读 · 0 评论 -
Qt Model/View 学习笔记 (六)
在views中选择数据项概念用于新的view类中的选择模型比Qt3中的模型有了很大的改进。它为基于model/view架构的选择提供了更为全面的描述。尽管对提供了的views来说,负责操纵选择的标准类已经足以应付,但是你也可以创建特定的选择模型来满足你特殊的需求。关于在view被选择的数据项的信息保持在QItemSelectionModel类的实例中。它也为每个独立的model转载 2014-08-28 15:13:41 · 472 阅读 · 0 评论 -
Qt 常用类(3)—— QString
QString 类是 Qt 中用于表示字符串的类,实现在 QtCore 共享库中。QString 类在实现上有以下特征。 1)字符串采用 Unicode 内部编码,可以表示世界上大多数语言的文字。 2)字符串的存储有引用计数,当一个 QString 对象被复制为另一个 QString 对象时,它们实际上指向相同的存储空间,仅仅是增加一个引用计数。转载 2014-09-09 23:52:09 · 760 阅读 · 0 评论 -
Qt 常用类(13)—— QPushButton/(14)—— QCheckBox
QPushButton 类代表按钮,它继承了 QAbstractButton 类,因此也有其全部的属性、信号和槽。 构造 QPushButton 类支持以下构造函数:[plain] view plaincopyQPushButton(QWidget *转载 2014-09-10 00:15:35 · 984 阅读 · 0 评论 -
Qt 常用类 (11)—— QLabel
http://blog.csdn.net/hmsiwtv/article/details/7563518 QLabel 类代表标签,它是一个用于显示文本或图像的窗口部件。 构造 QLabel 类支持以下构造函数:[plain] view plaincopy转载 2014-09-10 00:13:31 · 384 阅读 · 0 评论 -
Qt 常用类 (9)—— QWidget
QWidget 类代表一般的窗口,其他窗口类都是从 QWidget 类继承出来的。而 QWidget 类则同时继承了 QObject 类 和 QPaintDevice 类,也就是说,窗口类都是 Qt 对象类。这里的 QPaintDevice 类则是所有可绘制的对象的基类。 常用窗口类的继承关系如图所示: 构造转载 2014-09-10 00:08:55 · 493 阅读 · 0 评论 -
Qt之系统托盘(QSystemTrayIcon详解)
托盘是什么?这个就不用在多说了!而Qt中如何实现自己的托盘功能,Qt自带的demo也很明了,这里我们就来实现自己的一个托盘。。。 void TrayMenu::createActions() { //创建托盘项 action_show = new QAction(this); action_quit = new QAction(this);转载 2014-09-21 23:43:15 · 650 阅读 · 0 评论 -
Qt之打包发布(NSIS详解)
发布方式 Qt发布的时候,通常使用两种方式: (1)静态编译 (2)动态编译 静态编译:把相关联的库一并引入可执行程序,虽然发布简单,但可执行程序较大。。。 动态编译:相关联的库,以dll的形式引用,不被包含进可执行程序,发布不方便,但可执行程序较小。。。 静态发布虽然不需要较多的dll,发布简单、方便,但是往往会牵扯到授权问题(详转载 2014-09-21 21:25:17 · 442 阅读 · 0 评论 -
Qt之QTableView
之前有讲解过QTableWidget的使用(QTableWidget详解(样式、右键菜单、表头塌陷、多选等)),已经算是很详细了,这节再讲更常用的视图部件QTableView的高级用法。 Qt中有几种纯粹的视图部件:QListView、QTableView、QColumnView、QTreeView,所有的这些视图都必须提供一个模型(无论是自定义,还是Qt中已提供的)来与之配合。Qt仍然转载 2014-09-21 20:58:44 · 1178 阅读 · 0 评论 -
Qt之模型/视图(委托)
概念 不同于模型 - 视图 - 控制器模式,模型/视图设计不包括用于管理与用户交互的一个完全独立的组件。一般情况,视图负责将模型数据呈现给用户以及处理用户输入。为了输入更加具有灵活性,则由委托来执行交互。这些组件提供输入功能,且在一些视图中还负责渲染个别项目。控制委托的标准接口在QAbstractItemDelegate类中定义。 委托能够通过实现的paint()和sizeHi转载 2014-09-21 20:55:56 · 542 阅读 · 0 评论 -
Qt之模型/视图(实时更新数据)
上两节简单介绍了Qt中对于模型/视图的编程,大部分助手里说的很清楚了,现在就开始实战部分吧! 在实际应用中,视图展示的数据往往并非一成不变的,那么如何实时更新成了一个很重要的问题!功能:(1)添加委托(进度条)(2)显示文件名称、大小、进度、速度、剩余时间、状态等。(3)可进行添加、更新、删除、清空等操作。(4)实时更新数据先看一个效果转载 2014-09-21 20:50:26 · 1301 阅读 · 0 评论 -
Qt 常用类 (4) QPoint/(5) QSize/6--QFont
QPoint 类代表一个坐标点,实现在 QtCore 共享库中。它可以认为是一个整型的横坐标和一个整型的纵坐标的组合。 构造 QPoint 类支持以下两种构造方式:[plain] view plaincopyQPoint(); // 构造横纵坐标均为 0 的 QPoint 对象 QPoint转载 2014-09-10 00:00:13 · 1361 阅读 · 0 评论 -
Qt 常用类 (10)—— QDialog
http://blog.csdn.net/hmsiwtv/article/details/7563479 QDialog 类代表对话框。对话框一般用来实现那些只是暂时存在的用户界面。对话框是独立的窗口,但通常它也有父窗口,当对话框显示时,默认的位置在父窗口的中央。从外观上来看,对话框一般没有最大化、最小化按钮。 对话框有模态和非模态两种形式。非模态对转载 2014-09-10 00:09:49 · 531 阅读 · 0 评论 -
Qt常用类(2)—— 开端/QChar
转自:http://blog.csdn.net/hmsiwtv/article/details/7553321 使用Qt进行编程必须对 Qt 中常用的类有一定的了解。这些类可以分成两种:一种不是从 QObject 类派生出来的,用来表示各种基本的数据对象,如字符串、图像、字体等,这里将它们通称为基本类;另一种都是从 QWidget 类派生出来的,它们表示一个顶级窗转载 2014-09-09 23:49:06 · 691 阅读 · 0 评论 -
Qt Model/View 学习笔记 (四)
创建新的Models介绍model/view组件之间功能的分离,允许创建model利用现成的views。这也可以使用标准的功能 图形用户接口组件像QListView,QTableView和QTreeView来显示来自各种数据源的数据为。QAbstractListModel类提供了非常灵活的接口,允许数据源以层次结构的形式来管理信息,也允许以某种方式对数据进行插入、删除、修改和存转载 2014-08-28 15:08:23 · 395 阅读 · 0 评论 -
Qt Model/View 学习笔记 (二)
Qt提供了两个标准的models:QStandardItemModel和QDirModel。QStandardItemModel是一个多用途的model,可用于表示list,table,tree views所需要的各种不同的数据结构。这个model也持有数据。QDirModel维护相关的目录内容的信息,它本身不持有数据,仅是对本地文件系统中的文件与目录的描述。QDirModel是一个现转载 2014-08-28 15:06:23 · 419 阅读 · 0 评论 -
Qt Model/View 学习笔记 (一)
介绍Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系。这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接口,使得更多的数据源可以被这些item view使用。这里对model/view的结构进行了描述,结构中的每个组件都进行了解释,给出了一些例子说明了提供的这些类如何使用。转载 2014-08-28 15:04:15 · 463 阅读 · 0 评论