随笔分类 -  QT4教程

QT 常见技巧
摘要:本文是我前几天一个网友告诉我的,当时看了感觉好,就保存下来。今天再次查看,感觉有必要把文章分享给各位学习QT 的朋友,因为网上好用的QT 资源真的好少。1、如果在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的closeEvent()函数,加入判断操作Quote:void MainWindow::closeEvent(QCloseEvent *event){if (maybeSave()){writeSettings();event->accept();}else{event->ignore();}}2、如何用打开和保存文件对话答:使用QFileDialogQuote:QStri 阅读全文

posted @ 2010-08-06 14:41 Hibernate4 阅读(2559) 评论(0) 推荐(1) 编辑

深入信号和槽(Signals and Slots in Depth)
摘要:信号和槽是Qt编程的一个重要部分。这个机制可以在对象之间彼此并不了解的情况下将它们的行为联系起来。在前几个例程中,我们已经连接了信号和槽,声明了控件自己的信号和槽,并实现了槽函数,发送了信号。现在来更深入了解这个机制。槽和普通的c++成员函数很像。它们可以是虚函数(virtual),也可被重载(overload),可以是公有的(public),保护的(protective),也可是私有的(private),它们可以象任何c++成员函数一样被调用,可以传递任何类型的参数。不同在于一个槽函数能和一个信号相连接,只要信号发出了,这个槽函数就会自动被调用。connect函数语法如下:connect(s 阅读全文

posted @ 2010-08-06 11:18 Hibernate4 阅读(288) 评论(0) 推荐(0) 编辑

纠正你的Qt编程习惯:主窗体的创建问题
摘要:题记:要知道,并不是只有初学者才会犯错。(shiroki的至理名言)最近发现了一些有意思的问题,值得memo一下。先来看段代码:#include <QApplication>#include <QWebView>#include <QUrl>int main(int argc, char* argv[]){ QApplication a(argc, argv); QWebView* mw = new QWebView; mw->show(); mw->load(QUrl("http://www.cuteqt.com/blog" 阅读全文

posted @ 2010-08-05 19:11 Hibernate4 阅读(234) 评论(0) 推荐(0) 编辑

Qt网络(八)TCP(二)
摘要:在上一节里我们使用TCP服务器发送一个字符串,然后在TCP客户端进行接收。在这一节我们重新写一个客户端程序和一个服务器程序,这次我们让客户端进行文件的发送,服务器进行文件的接收。有了上一节的基础,这一节的内容就很好理解了,注意一下几个信号和槽的关联即可。当然,我们这次要更深入了解一下数据的发送和接收的处理方法。一、客户端这次我们先讲解客户端,在客户端里我们与服务器进行连接,一旦连接成功,就会发出connected()信号,这时我们就进行文件的发送。在上一节我们已经看到,发送数据时我们先发送了数据的大小信息。这一次,我们要先发送文件的总大小,然后文件名长度,然后是文件名,这三部分我们合称为文件头 阅读全文

posted @ 2010-08-03 19:58 Hibernate4 阅读(484) 评论(0) 推荐(0) 编辑

Qt网络(七)TCP(一)
摘要:TCP即Transmission Control Protocol,传输控制协议。与UDP不同,它是面向连接和数据流的可靠传输协议。也就是说,它能使一台计算机上的数据无差错的发往网络上的其他计算机,所以当要传输大量数据时,我们选用TCP协议。TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序。我们在服务器端进行端口的监听,一旦发现客户端的连接请求,就会发出newConnection()信号,我们可以关联这个信号到我们自己的槽函数,进行数据的发送。而在客户端,一旦有数据到来就会发出readyRead()信号 阅读全文

posted @ 2010-08-03 19:57 Hibernate4 阅读(438) 评论(0) 推荐(0) 编辑

Qt网络(六)UDP
摘要:这一节讲述UDP编程的知识。UDP(User Datagram Protocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议。对于UDP我们不再进行过多介绍,如果你对UDP不是很了解,而且不知道它有什么用,那么我们这里就举个简单的例子:我们现在几乎每个人都使用的腾讯QQ,其聊天时就是使用UDP协议进行消息发送的。就像QQ那样,当有很多用户,发送的大部分都是短消息,要求能及时响应,并且对安全性要求不是很高的情况下使用UDP协议。 在Qt中提供了QUdpSocket 类来进行UDP数据报(datagrams)的发送和接收。这里我们还要了解一个名词Socket,也就是常说的“套 阅读全文

posted @ 2010-08-03 19:56 Hibernate4 阅读(476) 评论(0) 推荐(0) 编辑

Qt网络(四)FTP(二)
摘要:本文章原创于 www.yafeilinux.com 转载请注明出处。前面讲述了一个最简单的FTP客户端程序的编写,这一节我们将这个程序进行扩展,使其可以浏览并能下载服务器上的所有文件。1.更改widget.ui文件如下。我们删除了Text Browser ,加入了几个Label ,Line Edit ,Push Button部件,一个Tree Widget及一个Progress Bar部件。然后我们对其中几个部件做如下更改。(1)将“FTP服务器”标签后的Line Edit的objectName属性改为“ftpServerLineEdit”,其text 属性改为“ftp.qt.nokia.co 阅读全文

posted @ 2010-08-03 19:54 Hibernate4 阅读(2972) 评论(0) 推荐(0) 编辑

Qt网络(五)获取本机网络信息
摘要:本文章原创于 www.yafeilinux.com 转载请注明出处。前面讲完了HTTP和FTP,下面本来该讲解UDP和TCP了。不过,在讲解它们之前,我们先在这一节里讲解一个以后要经常用到的名词,那就是IP地址。对于IP地址,其实,会上网的人都应该听说过它。如果你实在很不了解它,那么我们简单的说:IP即Internet Protocol (网络之间互联的协议),协议就是规则,地球人都用一样的规则,所以我们可以访问全球任何的网站;而IP地址就是你联网时分配给你机子的一个地址。如果把网络比喻成地图,那IP地址就像地图上的经纬度一样,它确定了你的主机在网络中的位置。其实知道我们以后要用IP地址来代表 阅读全文

posted @ 2010-08-03 19:54 Hibernate4 阅读(301) 评论(0) 推荐(0) 编辑

Qt网络(三)FTP(一)
摘要:上一节我们讲述了HTTP的编程,这一节讲述与其及其相似的FTP的编程。FTP即File Transfer Protocol,也就是文件传输协议。FTP的主要作用,就是让用户连接上一个远程计算机,查看远程计算机有哪些文件,然后把文件从远程计算机上拷贝到本地计算机,或者把本地计算机的文件送到远程计算机上。 在Qt中,我们可以使用上一节讲述的QNetworkAccessManager和QNetworkReply类来进行FTP 程序的编写,因为它们用起来很简单。但是,对于较复杂的FTP操作,Qt还提供了QFtp类,利用这个类,我们很容易写出一个FTP客户端程序。下面我们先在帮助中查看这个类。在QFtp 阅读全文

posted @ 2010-08-03 19:52 Hibernate4 阅读(6500) 评论(0) 推荐(0) 编辑

Qt网络(二)HTTP编程
摘要:HTTP即超文本传输协议,它是一种文件传输协议。这一节中我们将讲解如何利用HTTP从网站上下载文件。 上一节中我们已经提到过了,现在Qt中使用QNetworkAccessManager类和QNetworkReply类来进行HTTP的编程。下面我们先看一个简单的例子,然后再进行扩展。(一)最简单的实现。1.我们新建Qt4 Gui QApplication 。工程名为“http”,然后选中QtNetwork模块,最后Base class选择QWidget 。注意:如果新建工程时没有添加QtNetwork模块,那么就要手动在工程文件.pro中添加代码 QT += network ,表明我们使用了网络 阅读全文

posted @ 2010-08-03 19:51 Hibernate4 阅读(2144) 评论(0) 推荐(0) 编辑

三、Qt Creator登录对话框
摘要:实现功能:在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告对话框。实现原理:通过上节的多窗口原理实现由登录对话框进入主窗口,而用户名和密码可以用if语句进行判断。实现过程:1.先新建Qt4 Gui Application工程,工程名为mainWidget,选用QWidget作为Base class,这样便建立了主窗口。文件列表如下:2.然后新建一个Qt Designer Form Class类,类名为loginDlg,选用Dialog without Buttons,将其加入上面的工程中。文件列表如下:3.在logindlg.ui中设计下面的 阅读全文

posted @ 2010-07-28 18:44 Hibernate4 阅读(1098) 评论(0) 推荐(0) 编辑

二、Qt Creator编写多窗口程序
摘要:实现功能: 程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭这个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后,我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。实现原理: 程序里我们先建立一个主工程,作为主界面,然后再建立一个对话框类,将其加入工程中,然后在程序中调用自己新建的对话框类来实现多窗口。实现过程:1.首先新建Qt4 Gui Application工程,工程名为nGui,Base class选为QWidget。建立好后工程文件列表如下图。2.新建对话框类,如下图,在新建中,选择Qt Designer Form Class。3.选择Di 阅读全文

posted @ 2010-07-28 18:43 Hibernate4 阅读(438) 评论(0) 推荐(0) 编辑

一、Qt Creator的安装和hello world程序的编写
摘要:1.首先到Qt的官方网站上下载Qt Creator,这里我们下载windows版的。下载地址:http://qt.nokia.com/downloads如下图我们下载:Download Qt SDK for Windows* (178Mb)下载完成后,直接安装即可,安装过程中按默认设置即可。2.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。3.我们用File->New菜单来新建工程。4.这里我们选择Qt4 Gui Application。5.下面输入工程名和要保存到的文件夹路径。我们这里的工程名为helloworld。6.这时软件自动添加基本的头文件, 阅读全文

posted @ 2010-07-28 18:41 Hibernate4 阅读(320) 评论(0) 推荐(0) 编辑

导航

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

统计

点击右上角即可分享
微信分享提示