Qt
文章平均质量分 83
技术小白yhx
爱学习,爱生活
展开
-
Qt学习之路三——基本布局管理
在Qt中,有三种基本布局:水平布局,垂直布局、网格布局,它们分别属于QHBoxLayout、QVBoxLayout以及QGridLayout。它们的继承关系是这样的:布局中 常用的方法就是addWidget()和addLayout()。我们来看一个具体的例子。...原创 2018-05-17 14:47:36 · 1535 阅读 · 0 评论 -
Qt学习之路十二——利用UDP进行通信
一、UDP的特点UDP(用户数据报协议)是一种简单轻量级、不可靠、面向数据报,无连接的传输层协议。而TCP/IP协议却是有连接的二、UDP适合应用的几种情况1、网络数据大多为短消息2、拥有大量客户端3、对数据安全性无特殊要求4、网络负担非常重,但对响应速度要求高。三、利用UDP进行网络通信因为upd是无连接的,所以两个通信设备之间不需要建立连接,只要知道对方的IP地址和端口号就行了。我们首先创建一...原创 2018-05-31 22:00:43 · 12643 阅读 · 6 评论 -
Qt学习之路十一——文件的读写操作
在我们日常的使用中,我们经常需要对文件进行操作,这篇博客我们就利用qt来对文件进行读写操作。这次我们需要利用ui界面,所以我们在创建项目的时候需要勾选创建界面。然后使用界面设计师进行布局,如下图所示。一、读取文件右击readfile转到槽,然后我们只需要在这个槽函数中实现功能就行了。这个槽函数实现的功能主要是获取读取的文件名,然后打开这个文件,将这个文件的内容读取到一个字节数组中,并且将文件里的内...原创 2018-05-30 22:00:36 · 8901 阅读 · 0 评论 -
Qt学习之路十四——多人同时在线考试系统
学了这么久的Qt决定动手做一个小项目——多人同时在线考试系统。这个管理考试系统的分为服务器端和客户端,两者之间的通信利用的是TCP/IP协议。 首先服务器端需要首先开启,然后服务器端会和MYSQL数据库进行连接。客户端需要先注册一个账号,注册的时候将信息发送给服务器,服务器存到数据库中。客户端启动的同时,会生成10个随机数,作为题号。登录的时候需要将登录的信息发送给服务器,服务器从数据库中寻找有没...原创 2018-06-05 22:20:36 · 4123 阅读 · 12 评论 -
Qt学习之路十——标准文件对话框
我们经常会需要打开文件,现在我们利用qt自己写一段代码来打开一个文件对话框。这篇博客我们只返回用户选择的文件的路径。我们会用到QFileDialog这个类,使用这个类,可以很轻松地获取文件的文件名。在QFileDialog类中,有这样一个函数getOpenFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QStri...原创 2018-05-29 22:49:33 · 620 阅读 · 0 评论 -
Qt学习之路十三—— 再谈TCP/IP(多客户端连接服务器)
一、TCP和UDP的区别这里我会用一个表格来显示这两者的区别比较项TCPUDP是否连接面向连接无连接传输是否可靠可靠不可靠流量控制提供不提供工作方式全双工可以是全双工应用场合大量数据少量数据速度慢快二、incomingConnection函数这个函数和之前讲过的newConnection信号功能差不多,只要有新的连接出现,就会自动调用这个函数。然后我们只需在这个函数中新建一个QTcpSocket对...原创 2018-06-04 23:19:10 · 38646 阅读 · 32 评论 -
Qt学习之路九——不规则窗体
我们通常看到见的窗体都是长方形的窗体,但是有时候我们也会需要用到不规则的窗体,所以我们也需要知道怎么创建一个不规则的窗体。首先创建一个项目,基类选择QWidget,这次我们不勾选创建界面。因为我们需要使用鼠标拖动窗口移动,所以我们需要重写鼠标事件,同时我们还需要用到绘图事件。我们首先需要在这个类的构造函数中创建一个QPixmap对象,然后使用load函数为这个对象填入图像值,这个图像就是整个窗口。...原创 2018-05-28 18:00:43 · 749 阅读 · 0 评论 -
Qt学习之路八——利用qt对数据库进行操作
之前我也用过mysql数据库,那个时候我还没有接触过qt,现在我们可以通过图形界面的形式对数据库进行操作。一、简单的mysql的语法每条语句都以分号结尾。创建一个数据库格式为:create database 数据库名;例:create database test;创建一个表格式为:create table 表名(内容 类型);例:create table student(number int , ...原创 2018-05-23 11:35:41 · 93854 阅读 · 43 评论 -
Qt学习之路七——TCP/IP网络编程
在qt中的网络编程和之前在windows中的网络编程的基本步骤是一样的,服务器有两个套接字,一个负责监听(QTcpServer),还有一个负责通信(QTcpSocket),客户端只有一个负责通信的套接字(QTcpSocket)。服务器和客户端通信的基本步骤1、QTcpServer对象负责监听是否有客户端连接此服务器。它是通过这样一个函数监听的 tcpserver->listen(QHostA...原创 2018-05-22 00:26:25 · 25449 阅读 · 14 评论 -
Qt学习之路六——分割窗口QSplitter类
我们现在用的很多软件都是由不同的许多窗口构成的,这些窗口会构成一个主窗口,在这个主窗口中,我们可以随意拖拽子窗口。这样的分割窗口的功能就可以通过QSplitter类来实现。Qt Creator的这个界面我们可以看到它由两个窗口构成,我们可以利用鼠标随意拖拽来改变它们的大小。现在我们就来实现分割窗口的功能。新建一个项目工程,然后基类选择QMainWindow,并且取消创建图形界面。我们在main.c...原创 2018-05-20 17:36:57 · 2297 阅读 · 0 评论 -
Qt学习之路二——一个简单的计算圆的面积程序
一、使用ui编辑器来布局计算面积的一些控件我们新建一个项目,项目名称为CalArea。并且勾选创建图形界面,基类选择QWidget然后我们将我们需要的一些控件拖到中间的区域,这个区域就是将要设计的顶层窗口部件。我们这个计算面积的小程序需要两个QLabel 类的控件,两个QLineEdit类的控件, 和一个QPushButton类的控件,之后我们需要在对象查看器中改掉它们的命名,如图所示我们这个计算...原创 2018-05-13 22:35:39 · 6482 阅读 · 3 评论 -
Qt学习之路一——Qt概述
一、什么是QtQt是一个跨平台的C++图形用户界面应用程序框架。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。二、Qt支持的平台Windows—XP、Vista、Win7、Win8、Win2008、Win10。UNIX/X11—Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX/ SGI IRIX等Macintosh—Mac OS X。三、...原创 2018-05-12 23:46:08 · 3565 阅读 · 0 评论 -
Qt学习之路五——堆栈窗体QStackedWidget类
在实际运用中堆栈窗体经常和QListWidget一下拉列表框QComboBox配合使用使用,这样的窗口在生活中也是很常见的。原创 2018-05-18 23:57:35 · 3570 阅读 · 0 评论 -
Qt学习之路四——停靠窗口
停靠窗口在很多软件中都是很常见的,这里我们就手动地创建一个停靠窗口。我们先新建一个项目,基类选择QMainWindow,取消创建图形界面。然后创建一个QTextEdit对象,作为主窗口,并且将这个编辑框作为主窗口的中央窗体。QTextEdit *te = new QTextEdit("主窗口", this);//设置这个对象作为主窗口te->setAlignment(Qt::AlignCe...原创 2018-05-18 12:22:00 · 5245 阅读 · 0 评论 -
TCP程序客户端连接不上服务器的解决办法
这几天突然想运行之前用Qt写的几个tcp小程序,但是发现客户端和服务器连接不上了,我自己又写了一遍程序,发现还是连接不上。这个问题困扰了我好几天。然后我就想看看自己用的端口号有没有被监听到。于是就运行了自己的服务器,然后在控制台下输入netstat -a发现自己用的端口号出现了两次。然后我停止运行服务器再输入netstat -a 自己写的端口只出现了一次,说明之前的8888端口号已经被占用了,所...原创 2018-06-27 22:18:36 · 32159 阅读 · 2 评论