
QT开发
文章平均质量分 71
SuPhoebe
不是我针对谁,我是说在座的诸位都比我强
展开
-
QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框
QMessageBox类:含有Question消息框、Information消息框、Warning消息框和Critical消息框等通常有两种方式可以来创建标准消息对话框:一种是采用“基于属性”的API,一种是使用QMessageBox的静态方法。后者书写容易,但缺少灵活性,针对用户给出的提示的信息不够丰富,并且不能自定义消息对话框里面的按钮提示信息。因此推荐第一种写法。#inc原创 2015-01-28 09:53:54 · 3577 阅读 · 1 评论 -
QT学习 之 QwtPlot(数学绘图)
QwtPlot是用来绘制二维图像的widget。在它的画板上可以无限制的显示绘画组件。绘画组件可以是曲线(QwtPlotCurve)、标记(QwtPlotMarker)、网格(QwtPlotGrid)、或者其它从QwtPlotItem继承的组件。QwtPlot拥有4个axes(轴线) 变量 功能 yLeft Y axis left of the canvas. yRight Y原创 2015-11-26 14:17:32 · 25040 阅读 · 1 评论 -
QT学习 之 三维饼图绘制
QT里没有相应统计图形的绘制组件 只有手工自己画效果如图void aaq::paintEvent( QPaintEvent* ev ){ QPainter painter(this); // 去除画笔 painter.setPen(Qt::NoPen); // 设置反锯齿 painter.setRenderHint(QPainter::Antialiasi原创 2015-11-26 17:36:52 · 4816 阅读 · 3 评论 -
QT学习 之 事件与事件过滤器
Qt事件模型一个真正强大的特色是一个QObject 的实例能够管理另一个QObject 实例的事件。让我们试着设想已经有了一个CustomerInfoDialog的小部件。CustomerInfoDialog 包含一系列QLineEdit. 现在,我们想用空格键来代替Tab,使焦点在这些QLineEdit间切换。一个解决的方法是子类化QLineEdit,重新实现keyPressEvent(),并在k原创 2015-11-27 19:36:15 · 10031 阅读 · 0 评论 -
QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址
获取主机名称/* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */QString CafesClient::get_localmachine_name(){ QString machineName = QHostInfo::localHostName(); return machin原创 2016-01-01 10:07:09 · 10741 阅读 · 2 评论 -
Qt学习 之 多线程程序设计
QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类 二、线程安全的事件投递 三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些线程相关的类:原创 2016-01-01 10:40:48 · 2606 阅读 · 2 评论 -
Qt5中文乱码解决方法
Qt中的中文显示,经常会出现乱码,但在UI设计界面上添加的中文是不会出现乱码的,如果你刚使用qt,那么你肯定会碰到这个问题。网上搜索一下,找到的都是这种:#include < QTextCodec >int main(int argc, char **argv){....................QTextCodec::setCodecForTr(QTextCodec::codecFor原创 2015-12-03 09:22:02 · 13551 阅读 · 0 评论 -
Qt中的对象类型转换
char * 与 const char *的转换 char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不报错,但有警告ch1 = (char *)ch2;char 与 QString的转换char 转换为 QString 其实方法有很多中,我用的是:char a='b';QString str;str=QString(a);原创 2015-12-18 22:59:05 · 3256 阅读 · 0 评论 -
Qt学习:正则表达式 - QRegExp
用正则表达式验证文本有效性 你可以使用QRegExp::exactMatch来判断一个字符串是否符合一个pattern。 void testRegexMatch(){ QString pattern(".*=.*"); QRegExp rx(pattern); bool match = rx.exactMatch("a=3"); qDebug() << matc原创 2015-03-06 15:51:43 · 5088 阅读 · 0 评论 -
QT中使用快速排序
今天想到了用QT做一个快速排序,所以研究了一下。 因为用习惯了,C++的std::sort,就算是C的时候也用得是stdlib.h中的qsort。手写板 手写板的快排其实不难,只是自从用C++打ACM之后就很少裸敲了。其中C语言 stdlib 功 能: 使用快速排序例程进行排序 用 法: void qsort(void base,int nelem,int width,int (*fcm原创 2015-12-08 09:49:36 · 9863 阅读 · 0 评论 -
Qt5制作鼠标悬停显示Hint的ToolTip
在日常生活中的使用的软件中,我们经常会遇到这样的情况。 我们在网页上,有些网页链接的文字(比如文章标题,知乎问题标题,百度的词条等)因为太长了,而显示不出来,但是鼠标悬停在上面的时候就可以显示出来。 我们在QQ上或者某些输入框内,我们不知道应该输入什么内容,但是鼠标如果悬停在输入框内的时候,会产生一个友好信息的hint。 实现方法,就是我们今天的ToolTip设置。代码如下: ItemWid原创 2015-12-08 21:45:56 · 19555 阅读 · 2 评论 -
Qt学习 之 Socket通信
最近写大作业用到Qt的Socket部分,网上关于这部分的资料都太过复杂,现在总结一下一些简单的应用。有机会可以给大家讲讲用Socket传送文件的代码。这里主要讲解如何实现TCP和UDP的简单通信。socket简介在LINUX下进行网络编程,我们可以使用LINUX提供的统一的套接字接口。但是这种方法牵涉到太多的结构体,比如IP地址,端口转换等,不熟练的人往往容易犯这样那样的错误。QT中提供的SOCKE原创 2015-12-27 11:42:27 · 14024 阅读 · 6 评论 -
Qt学习 之 定时器
在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器;一种是使用QTimer类。定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度。QObject类的定时器QObject是所有Qt对象的基类,它提供了一个基本的定时器。通过QObject::startTimer(),可以把一个一毫秒为单位的时间间隔作为参数来开始定时器,这个函数返回一个唯一的整数定时器的标识符。这个定时器开原创 2016-06-04 09:46:54 · 2983 阅读 · 0 评论 -
Qt中 QString 和int,double等的转换
Qt中 int ,float ,double转换为QString有两种方法1.使用QString::number(); 如:long a = 63; QString s = QString::number(a, 10); // s == "63" QString t = QString::number(a, 16).toUpper(); // t == "3原创 2015-12-08 19:21:47 · 39882 阅读 · 1 评论 -
QT学习 之 文本文件读写
上一章我们介绍了有关二进制文件的读写。二进制文件比较小巧,却不是人可读的格式。而文本文件是一种人可读的文件。为了操作这种文件,我们需要使用QTextStream类。QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。另外,像 XML、HTML 这种,虽然也是文本文件,可以由QTextStream生成,但 Qt 提供了更方便的 XML 操作类,这里就不包括这部分内容了原创 2015-06-11 17:07:23 · 7341 阅读 · 0 评论 -
QT学习 之 对话框 (三) 标准颜色对话框
点击打开链接QColorDialog类的文档QRgb:在Qt中,这个颜色可以这样表示:QRgb red = qRgba(255, 0, 0, 255),由于图片不是透明的,也可以如下简单表示QRgb red = qRgb(255, 0, 0)。QRgb实际上是一个unsigned int类型,内联函数qRgb(),qRgba()只是把分量值合成一个32为整数。QRgb red原创 2015-01-26 16:16:38 · 3227 阅读 · 2 评论 -
QT学习 之 主窗口 (六) QToolBox类(抽屉效果)
QToolBox展示出来的抽屉效果可以设计联系人列表下面展示类似聊天软件QQ的主界面头文件主要就是定义这些联系人QToolButton:drawer.h#include #include class Drawer : public QToolBox { Q_OBJECT原创 2015-01-30 21:02:12 · 7765 阅读 · 2 评论 -
Qt的4个图像类QImage/QPixmap/QBitmap/QPicture
(一)QPixmap和QImage的区别http://www.thisisqt.com/forum/viewthread.php?tid=267 QPixmap是专门为绘图而生,当需要绘制图片时你需要使用QPixmap。QImage则是为I/O,为图片像素访问以及修改而设计的。如果你想访问图片的像素或是修改图片像素,则需要使用QImage,或者借助于QPainter来操作像转载 2015-01-30 21:15:56 · 924 阅读 · 0 评论 -
QT学习 之 对话框 (五) QGroupBox类
QGroupBox窗口部件提供了一个有标题的组合框。组合框提供一个框架、一个标题和一个键盘快捷键,并且显示在它里面地其它不同窗口部件。标题在上面,键盘快捷键移动键盘焦点到组合框的一个子窗口部件,并且子窗口部件将会排列在这个框架中地一个数组中。使用它的最简单方式是创建一个为你所想要的列数(或者行数)和方向的组合框,并且然后创建其它窗口部件时,把这个组合框作为父对象。然而,也可以在构造原创 2015-01-30 17:28:18 · 17549 阅读 · 0 评论 -
QT学习 之 对话框 (一) 可扩展对话框
QT中的对话框是QDialog类下面是三个主要的窗口的区别:QWidget类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的,并且它们按Z轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。 QMainWindow 类提供一个有菜单条、锚接窗口(例如工具条)和一原创 2015-01-25 21:21:17 · 1946 阅读 · 0 评论 -
QT学习 之 对话框 (二) 标准输入框
QInputDialog类参考QInputDialog类提供了从用户那里得到一个单一值的简单方便的对话框。 #include qinputdialog.h>继承了QDialog。所有成员函数的列表。静态公有成员QString getText ( const QString & caption, const QString & label, QLineEdit::Ec原创 2015-01-25 21:48:34 · 11153 阅读 · 2 评论 -
Qt 中文显示
QT默认的编码(unicode)是不能显示中文的,可能由于windows的默认编码的问题,windows默认使用(GBK/GB2312/GB18030),所以需要来更改QT程序的编码来解决中文显示的问题。QT中有专门的一个类来处理编码的问题(QTextCodec)。在QT3中,QApplication可以设置程序的默认编码,但是在QT4中已经没有了该成员函数。可以以下的这些方法转载 2015-03-04 20:46:51 · 566 阅读 · 0 评论 -
Qt学习:布局管理的使用方法
分割窗口QSplitter类在应用程序中常常可能用到,它可以灵活地设置窗口的布局。通过一个小实例体先会一下QSplitter的使用。 -------创建工程时,Base Class选择“QMainWindow” //main.cpp #include "splitter.h" #include #include #incl原创 2015-03-06 12:15:23 · 5057 阅读 · 2 评论 -
QT学习 之 布局(一) QGridLayout
#include #include #include #include #include #include void setLayout2p1(QGridLayout * , QWidget * , QList *); int main(int argc, char *argv[]) { QApplication a(argc, ar原创 2015-03-26 19:29:09 · 1480 阅读 · 0 评论 -
Qt学习 之 UI视图类(一) QListWidget
类QListWidget在其内部定义了一个具有列表结构的模型,并以列表形式显示其中的数据项。列表中的每个数据项被表示为类QListWidgetItem的一个对象。在列表视图中所要显示的数据被存放在每个数据项的角色DisplayRole对应的数据子项中。这个数据子项的类型为QVariant,其中可以存放类型为QString的字符串,也可以存放类型为int或者double的数值。我们可以调用QList转载 2015-03-23 17:59:18 · 3186 阅读 · 1 评论 -
QT控制台输出QString
有时候想在控制台输出我们想要的QString变量。1、qDebug可以实现在控制台终端打印,但我们还是想使用C++中的std::cout This function does nothing if QT_NO_DEBUG_OUTPUT was defined during compilation. 2、网上说的方法利用QTextStream: #include QText原创 2015-03-23 17:30:55 · 10839 阅读 · 0 评论 -
Qt 学习 之 二进制文件读写
在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用。我们提到,QIODevice提供了read()、readLine()等基本的操作。同时,Qt 还提供了更高一级的操作:用于二进制的流QDataStream和用于文本流的QTextStream。本节,我们将讲解有关QDataStream的使用以及一些技巧。下一章则是QTextStream的相关内容。QDataStream提供了基于Q原创 2015-06-11 16:59:26 · 31273 阅读 · 4 评论 -
Qt学习 之 文件
文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图:Qt4 Qt5 从上面的类图可以看出,Qt4 和 Qt5 在 I/O 设备部分大同小异。只不过原创 2015-06-11 16:55:33 · 1539 阅读 · 0 评论 -
Qt学习 之 QWebView
之前在做CS架构的时候,显示图表总是做得不好。只有C#有相应的组件,QT需要手画或者加载一些插件。做了BS架构之后,知道了很多在前端方面表现极佳的图表制作工具,如Echarts。在上一次的大作业之中,也使用了这一方法。那么又知道QT里可以加载QtWebKit,因此便可以进行Web与本地应用的混合开发。新建一个Qt Gui项目,记得选上QtWebKit和QNetwork。QWebView类使用QWeb原创 2016-08-09 09:33:49 · 9268 阅读 · 0 评论