QT
文章平均质量分 83
姜源Jerry
万物伊始,效率本源。大道至简,代码之禅。
展开
-
QT:Qt的背景与软件安装
Qt的背景与安装 一、QT的概述1. 历史发展 1)1991年诞生 Haavard/Eirik window : win_label unix : unix_label 2)1994年创立 Trolltech(奇趣公司) 3)2005年QT4.0发布 4)2008年被Nokia收购 5)2009年源代码开放 6)2012年诺基亚将全部QT业务和知识产权出售原创 2017-04-04 00:07:39 · 561 阅读 · 0 评论 -
QT:HTTP协议简单应用
HTTP协议 QNetworkAccessManagerQNetworkReply《案例》QT实现HTTP文本浏览器 /* HTTP文本浏览器 - 代码演示 */// HttpDialog.h#ifndef HTTPDIALOGH#define HTTPDIALOGH#include #include #include #include #includ原创 2017-04-04 00:56:17 · 4373 阅读 · 2 评论 -
QT:TCP网络编程实现
QT TCP编程 QTcpServer QTcpSocket《案例》网络聊天室(局域网)① 服务器1 )使用QTcpServer创建并发服务器2 )保存所有客户端的socket套接字3 )接收客户端的消息4 )转发消息给所有的客户端工程名:Server类名:TcpServer② 客户端1 )使用QTcpSocket创建tcp客户端2 )原创 2017-04-04 00:55:07 · 2773 阅读 · 0 评论 -
QT:UDP网络编程实现
QT UDP编程 QUdpSocket UDP套接字 - More.... 里面的Example伪代码读写操作在成员函数内。void QIODevice::readyRead ( ); // 适用于所有I/O通信/** assistant 伪代码演示 **/void Server::initSocket ( ) { // 创建UDP套接字 ud原创 2017-04-04 00:53:19 · 2498 阅读 · 0 评论 -
QT:Qt 网络编程基础
Qt 网络编程基础 1 )网络协议层次 // linux/unix ---> 4 层 OSI ---> 7 层 应用层(应用层、表示层、会话层) 传输层(传输层) // TCP/IP协议 or UDP协议 网络接口层(网络层、数据链路层) // 链路:以太网协议;网络:IP协议 物理层(物理层) // 网卡本身 2 )TCP和UDP的区别 - '面试必问题'原创 2017-04-04 00:51:29 · 793 阅读 · 0 评论 -
QT:Qt多线程同步
QT多线程同步1 )互斥锁 :QMutex 保证同一时刻有指定多个线程访问共享资源。 void lock( ); void unlock( );/** eg代码演示 **/ int g_count = 0; // 临界资源(全局变量) void ThreadA::run ( ) { g_count++; } void ThreadB::run ( ) {原创 2017-04-04 00:50:34 · 1609 阅读 · 0 评论 -
QT:Qt多线程创建
QT多线程创建#include QThread > 跨平台的管理线程的方法// QThread类提供了一种独立于平台的方式来管理线程。 'QT创建线程的方法 1 :'class Worker : public QObject { void doWork(const QString ¶meter) { /* 有阻塞或者耗时的操作,需要放到独立的线程中原创 2017-04-04 00:48:51 · 663 阅读 · 0 评论 -
QT:SQLite数据库 '增、删、改、查'
SQLite数据库 '增、删、改、查' 1. 数据库简介 数据库指的是以一定方式存储在一起,能为多个用户共享,具有尽可能小的冗余度的特点,是与应用程序彼此独立的数据集合。 // 一定方式:可以理解为策略、算法 // 网盘相同的文件是以 MD5 码的形式标记相同的文件,以网络共享。2. 和数据相关的术语 DBMS '数据库管理系统' DBA '数据库管理员'原创 2017-04-04 00:44:47 · 4864 阅读 · 0 评论 -
QT:键盘事件
键盘事件QKeyEvent 按键按下#include QKeyEvent >// 按键按下 slotvoid QWidget::keyPressEvent (QKeyEvent * event) [virtual];// 按键抬起 slotvoid QWidget::keyReleaseEvent (QKeyEvent * event) [virtual];原创 2017-04-04 00:44:15 · 1286 阅读 · 0 评论 -
QT:鼠标事件
鼠标事件1. 鼠标手册#include QMousEvent >// 鼠标按下QWidget::mousePressEvent(QMouseEvent * event) [virtual];// 鼠标释放-抬起QWidget::mouseReleaseEvent(QMouseEvent * event) [virtual];// 鼠标移动QWidget:原创 2017-04-04 00:43:06 · 3392 阅读 · 0 评论 -
QT:目录和定时器
目录和定时器QVector 线性表容器类QVector QDir 遍历目录的方法类QDir dir (path); foreach QT中的for循环,关键字: QLinkedList list; ... QString str; foreach (str, list) { qDebug() }定时器事件,由QObject提供;定时器原创 2017-04-04 00:42:12 · 604 阅读 · 0 评论 -
QT:资源和图像
资源和图像《案例》图片浏览器1 )创建工程:ShowPics (工程名/工程目录名)2 )创建类名:ShowPicsDialog (类名/文件名)3 )设计UI---> m_fmImage (Frame组件,显示图像组件)---> m_btnNext (PushButton组件,下一张)---> m_btnPrev (PushButton组件,上一张)--原创 2017-04-04 00:40:53 · 768 阅读 · 0 评论 -
QT:Qt创造器的使用 creator
QT创造器的使用 creator《案例》重构加法计算器1. 点击QTcreator图标,启动(或者配置过环境变量后,$: qtcreator )2. New project ---> Application ---> Qt Widgets Application3. '名称' ---> '创建路径 ',QTctreator会自动创建一个和工程名称相同的名字的目录4.原创 2017-04-04 00:39:45 · 717 阅读 · 0 评论 -
QT:Qt设计师的使用 designer
QT设计师的使用 designer源文件/头文件的'最后加空行',有些编译不加空行会报警告。1. 启动设计师 在命令行 $: designer 根据提示选择模板(父窗口):Dialog without buttons 文件 -> 保存 (CalculatorDialog.ui)2. 设计UI界面,得到 .ui 文件 设置相关属性: 窗口/按钮文字、成原创 2017-04-04 00:38:31 · 5212 阅读 · 0 评论 -
QT:面向对象的Qt编程
面向对象的QT编程1. 基于对象的QT编程 // QT的功能受到限制,不推荐2. 面向对象的QT编程《案例》 加法计算器class CalculateDialog : public QDialog {// 行为: 构造函数 ( ) { 初始化界面 } 槽函数:当输入左右操作数时,发送信号,检测是否都为有效数字,使能等号按钮; 槽函原创 2017-04-04 00:36:22 · 2068 阅读 · 0 评论 -
QT:容器窗口(父窗口)
容器窗口(父窗口)与滑块1. 如果一个组件创建时指定了父窗口,那么就将停靠在父窗口上,如果不指定父窗口,它就会飘在外面,形成独立的窗体。 2. 常用父窗口类: QWidget // 默认大一些 QMainWindow // 默认小一些 QDialog // 对话框窗口,大一些,顶栏只有关闭按钮x原创 2017-04-04 00:34:35 · 3837 阅读 · 0 评论 -
QT:信号和槽机制
信号和槽机制1. 概念 信号和槽是Qt自行定义的一种通信机制,实现不同对象之间的数据交互。 其本质就是函数的调用,一个对象发出信号,连接到该信号的对象,则会执行指定的动作(槽Slots )。2. 定义 "信号 Signal " class QPushButton { Q_OBJECT // 元对象编译器 。 sig原创 2017-04-04 00:10:46 · 467 阅读 · 0 评论 -
QT:QString 字符串和中文字符编码
QString 字符串和中文字符编码QT内部的编码方式 Unicode (utf-16)linux平台默认使用:utf-8windows平台默认使用:gbk2312/gbk/gbk18030QString内部使用Unicode编码,使用双引号的字符串,通过转换构造函数,可以将utf-8编码字符转换为Unicode的使用,也可以正常显示utf-8编码的字符串。早期的Qt4版本原创 2017-04-04 00:08:43 · 12682 阅读 · 0 评论 -
QT:在Qt中使用SQLite数据库
在QT中使用数据库QMYSQL (MySQL)QSQLITE (SQlite 3 ) - QT 自带的数据库~/Qt5.4.1/5.4/gcc_64/plugins/sqldrivers // 数据库.so动态库文件别的数据库可以下载下来,直接拷贝到该目录,就可以直接用了。QSqlDatabase 建立QT程序和数据库的连接/** 代码演示 - ass原创 2017-04-04 00:47:02 · 4981 阅读 · 0 评论