QT
luck_horse
这个作者很懒,什么都没留下…
展开
-
Qt注意事项(2)
#include "mainwindow.h"#include #include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget *window = new QWidget(); window->resiz原创 2017-09-25 17:24:37 · 400 阅读 · 0 评论 -
Qt 进程 QProcess
定义The QProcess class is used to start external programs and to communicate with them.QProcess类是用来启动一个外部程序并与之通信。使用说明开启外部线程的3中方式To start a process, pass the name and command li转载 2017-09-29 14:08:26 · 486 阅读 · 0 评论 -
Qt实现UDP通信简例
目标终极目标是完成计网课设:基于P2P的局域网即时通信系统。 然而…第一次接触 Qt,完全没有概念,希望有个尽量简单的例子见识一下 Qt 网络编程的套路。看完参考的例子后学写了一波。特点只有一边发送、另一边接收,且都在本地没有图形界面,就黑框框TipsQt 版本:5.8.pro 文件里要加一句:QT += network,接着一定要 执行qmake约定用转载 2017-09-29 14:46:02 · 1144 阅读 · 1 评论 -
QT5实现简单的TCP通信
使用QT的网络套接字需要.pro文件中加入一句:[cpp] view plain copyQT += network 一、客户端1、客户端的代码比服务器稍简单,总的来说,使用QT中的QTcpSocket类与服务器进行通信只需要以下5步:(1)创建QTcpSocket套接字对象转载 2017-09-29 14:34:03 · 3568 阅读 · 2 评论 -
Qt之base64编码最简单程序
//!!!dev c++#include <iostream>#include <stdlib.h>#include <stdio.h>//AA9HmgAAAAFZyLXounsigned char base64Table[64] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'...原创 2017-09-29 17:44:03 · 2259 阅读 · 0 评论 -
Qt中基本数据类型
typedef qint8typedef qint16typedef qint32typedef qint64typedef qlonglongtypedef qptrdifftypedef qrealtypedef quint8typedef quint16typedef quint32typedef quint64typedef quintptr原创 2017-09-30 10:30:40 · 2208 阅读 · 0 评论 -
Qt 的QString类的使用
Qt的QString类提供了很方便的对字符串操作的接口。使某个字符填满字符串,也就是说字符串里的所有字符都有等长度的ch来代替。QString::fill ( QChar ch, int size = -1 )例: QString str = "Berlin"; str.fill('z'); // str == "zzzzzz转载 2017-09-30 11:20:17 · 322 阅读 · 0 评论 -
Qt只QStringList的简单使用方法
QStringList类提供了一个字符串列表从QList 继承而来,它提供快速索引为基础的接入以及快速插入和清除其成员函数用于操作这个字符串列表如append(),insert(), replace(), removeAll(), removeAt(), removeFirst(), removeLast(), and removeOne()等1. 增加字符串转载 2017-09-30 11:29:47 · 1819 阅读 · 0 评论 -
Qt之QByteArray类学习
QByteArray类提供了字节数组,包含于头文件中,从Q3CString类继承而来。QByteArray可以存储raw bytes和传统的8-bits的字符串,都是以'\0'结尾的,使用比char*更方便QString也可以存储字符串信息,但通常以16-bits形式Unicode方式存储,这有利于非ASCII和非Latin-1格式的数据的存储,例如GBK等中文size()大小,不转载 2017-09-30 22:34:39 · 3536 阅读 · 0 评论 -
Qt多线程学习:创建多线程
【为什么要用多线程?】传统的图形用户界面应用程序都只有一个执行线程,并且一次只执行一个操作。如果用户从用户界面中调用一个比较耗时的操作,当该操作正在执行时,用户界面通常会冻结而不再响应。这个问题可以用事件处理和多线程来解决。 【Linux有线程的概念吗?】传统的UNIX系统也支持线程的概念,但一个进程里只允许有一个线程,这样多线程就是多进程。Linux下的Posix转载 2017-09-29 12:52:31 · 334 阅读 · 0 评论 -
Qt程序打包发布
概述:我们在开发Qt项目时,难免会遇到程序打包发布的问题。有的时候我们将程序编译生成一个程序,放到别人的电脑上就运行不起来了。这是因为别人的电脑上没有安装开发环境。其实如果我们自己讲生成的可执行程序包换个路径再打开,也许你就运行不了了。提示少了某些库。因此就设计到打包问题。将我们的可执行程序不管发到哪个路径、放到谁的电脑上,都能运行起来。那么该怎么打包程序发布呢?步骤:转载 2017-09-29 09:46:22 · 419 阅读 · 0 评论 -
Qt中定时器使用的两种方法
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类。 其精确度一般依赖于操作系统和硬件,但一般支持20ms。下面将分别介绍两种方法来使用定时器。方法一:QObject中的定时器的使用,需要用到三个函数1、 int QObject::startTimer ( int interval ) ;转载 2017-09-29 09:27:17 · 536 阅读 · 0 评论 -
QPainter中坐标系变换问题
一、坐标系简介。Qt中每一个窗口都有一个坐标系,默认的,窗口左上角为坐标原点,然后水平向右依次增大,水平向左依次减小,垂直向下依次增大,垂直向上依次减小。原点即为(0,0)点,然后以像素为单位增减。例如:void Dialog::paintEvent(QPaintEvent *){ QPainter painter(this); painter.se转载 2017-09-26 14:50:00 · 998 阅读 · 0 评论 -
Qt之最简单的绘图程序
SOURCES += main.cpp\ widget.cppHEADERS+= widget.h#ifndef WIDGET_H#define WIDGET_H#include class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *原创 2017-09-26 19:13:56 · 919 阅读 · 0 评论 -
QT入门注意事项(1)
1.从别处拷贝来的工程要先执行清除操作后再进行修改和编译,否则即使修改文件后编译也不起作用。2.添加Q_OBJECT后要运行qmake,否则编译失败。3.测试版本为5.2.1.原创 2017-09-22 19:42:53 · 283 阅读 · 0 评论 -
Qt贴图最简单程序
QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = painterdemoTEMPLATE = appSOURCES += main.cpp\ widget.cppHEADERS += widget.hRESOURCES += \原创 2017-09-26 20:36:53 · 1975 阅读 · 0 评论 -
Qt菜单、文件、信号与槽最简单程序
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include class QTextEdit;class MainWindow : public QMainWindow{ Q_OBJECT public: explicit MainWindow(QWidget *parent = 0);转载 2017-09-27 17:19:22 · 710 阅读 · 0 评论 -
Qt内存对齐控制
#pragma pack(push) //保存对齐状态#pragma pack(4)//设定为4字节对齐#pragma pack(pop)//恢复对齐状态语法:#pragma pack( [show] | [push | pop] [, identifier], n )说明:1,pack提供数据声明级别的控制,对定义不起作用;转载 2017-09-28 11:15:31 · 3212 阅读 · 1 评论 -
Qt之debug和写log文件
#include #include #include void customMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg){ QString txtMessage; switch (type) { c原创 2017-09-28 14:07:08 · 1486 阅读 · 0 评论 -
Qt布局最简单程序
#include #include #include #include class AddressBook : public QWidget{ Q_OBJECTpublic: AddressBook(QWidget *parent = 0);private: QLineEdit *nameLine; QTextEdit *ad原创 2017-09-28 14:10:33 · 230 阅读 · 0 评论 -
Qt中内存泄露和半自动内存管理
Qt中帮程序员做了一些内存回收的事情,但正因为这些反而让对此不熟悉的人会屡屡犯错。收录一篇不错的文章:在C++中学习过程中,我们都知道:delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。Qt作为C++的库,显然是不会违背C++的前述原则的。可是:在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去...转载 2018-11-20 14:53:23 · 182 阅读 · 0 评论