
qt学习
文章平均质量分 75
芳草源
路漫漫其修远兮,吾将上下而求索
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
构建qt项目时出现的qmake错误
今天在运行一个简单的Qt项目时,出现了一个原创 2014-11-09 14:27:49 · 18793 阅读 · 1 评论 -
Qt鼠标事件 我的鼠标样式
鼠标样式的效果如下:主要思路:重写widget的MouseMoveEvent事件的处理函数。移动过程中的四个星星由四个定时器控制着,分别处于移动前位置A点和移动后的位置B点之间的四点上,然后从最小的星星到最大的星星分别在定时器事件中消失。关于起点A和重点B的位置保存问题,在mouseMoveEvent函数中,有pos()获取到的坐标是移动此刻的坐标。原创 2015-08-21 20:49:01 · 916 阅读 · 0 评论 -
Qt中使用事件过滤器来处理键盘焦点
我们都知道,在主事件循环中,使用QApplication::notify(QObject*, QEvent*)来分发时间到下面的子窗口,而子窗口将调用QObject::event(QEvent*)来根据事件类型调用相应的事件处理函数。在处理键盘焦点的时候,我们把焦点定位特殊部件的习惯通常是Tap键、下一个键盘快捷键或者鼠标滚轮等等,根据传统的方法,为了能够正确切换焦点,我们需要重写每个部件的键盘处原创 2015-08-20 22:08:43 · 3865 阅读 · 0 评论 -
在QT中使用TCP协议进行文件传输(可以单向循环传输)
大致步骤如下:1、服务器端设置监听套接字,开始监听;2、客户端在连接成功时开始传送文件,有connected()信号连接send()槽,send()发送文件头信息,包括文件名、文件总大小和文件名大小等;3、传送完文件头信息时开始传送文件内容,有bytesWritten(qint64)信号连接到goOnSend(qint64)槽,前者是当想套接字写入数据时会出发的信号,即当已经想套接字写原创 2015-08-19 20:31:40 · 12955 阅读 · 6 评论 -
Qt同步线程的几种方法
一、QMutex类QMutex类就像一把锁,在互斥量之前上锁(QMutex::lock()),然后在使用完互斥量之后解锁(QMutex::unlock())。比如下面的代码:void someMethod(){ mutex.lock(); qDebug()<<"Hello"; qDebug()<<"World"; mutex.unlock();}原创 2015-07-27 09:14:56 · 5447 阅读 · 0 评论 -
使用Qt创建动态和静态链接库
一、创建静态链接库静态链接库是将函数和数据编译成的一个二进制文件,Linux下的静态链接库是*.a文件,而在Windows下的静态链接库是*.LIB文件。编译器在连接的时候会恢复静态库文件中的函数和数据,并将它们和应用程序中的其它模块组合在一起生成可执行文件,因此,体积比较大。在Qt中创建静态库文件的主要步骤如下:1、新建一个创建C++库文件项目;原创 2015-05-17 20:34:28 · 3355 阅读 · 0 评论 -
Qt使用定时器方法一:定时器事件
首先,Qt对象的基类QObject为我们提供了一个基本的定时器,它是通过定时器事件来触发的。其步骤如下:step1:通过函数int QObject::startTimer(int interval)函数来启动一个定时器,其中参数interval为时间间隔,其时间单位为毫秒(ms);startTimer()函数的返回类型为int,这个整型数字是定时器的标识符,用来唯一标识这个此时由startTi原创 2015-04-07 19:56:33 · 7710 阅读 · 0 评论 -
Qt学习之QMainWindow(一)QMainWindow简介
(详细的后续会讲到,这里重在理解过程)Qt中的顶层窗口称为MainWindow,属于类QMainWindow,QMainWindow也是继承于QWidget。通过子类化QMainWindow可以创建一个应用程序的窗口。MainWindow的结构分为五个部分:菜单栏(Menu Bar)、工具栏(Toolbars)、停靠窗口(Dock Widgets)、状态栏(Status Bar)和中央原创 2015-03-12 14:05:44 · 33029 阅读 · 1 评论 -
Qt模型/视图解析
声明:本文转自:http://blog.youkuaiyun.com/bbjjqq/article/details/6166817View 类概念在model/view架构中,view从model中获得数据项然后显示给用户。数据显示的方式不必与model提供的表示方式相同,可以与底层存储数据项的数据结构完全不同。内容与显式的分离是通过由QAbstractItemModel提供的转载 2015-03-21 21:06:15 · 732 阅读 · 0 评论 -
调试Qt程序时遇到的:底层由于接收到操作系统的信号而停止
调试错误截图:错误焦点:是在程序中出现了野指针,即使用了已经被释放了的对象的指针。错误代码如下: openGroupBox = new QGroupBox(tr("Open at startup"));// webBrowserPage = new QGroupBox(tr("Web browser")); //!!!!!!!!!!!野指针的源头 webBrow原创 2015-03-10 11:28:26 · 12288 阅读 · 0 评论 -
Qt中的parent参数
程序写的多了,你会发现几乎所有的Qt类的构造函数都会有一个parent参数。这个参数通常是QObject* 或者是 QWidget* 类型的。很多情况下它都会有一个初始值0,因此,即便你不去给它复制也没有丝毫的问题。于是,稍微偷懒一下,就会不自觉的忽略了这个参数。那么,这个参数到底是干什么用的呢? 其实,这个参数有很多用处。就像它的名字一样,这个参数指定了组件的父组件。对于一个对话转载 2014-12-31 16:06:55 · 2606 阅读 · 0 评论 -
Qt Gui编程中两种创建窗体界面方法
一、手动编写界面代码Qt编程中所使用的语言是面向对象的C++,在初学GUI编程时,如果仅仅依靠Qt Designer编辑器来通过拖拽一些widget来设计界面,则会很容易迷惑我们,并且很难弄懂其中所涉及的面向对象思想,也不容易弄懂Qt GUI的一个整体结构。所以在初学Qt GUI时可以通过手动编写界面代码来理解Qt 的GUI结构。1、组合widget方法顾名思义,组合widget方原创 2014-12-28 20:09:34 · 23443 阅读 · 1 评论 -
使用Qt Designer和手动编写代码两种方式实现多窗口切换程序(Qt基础)
今天花了一下午的时间学习了在Qt中如何进行多窗口切换的编程,网上看了很多教程,出了很多错误,找到了一个使用Qt Desinger编写的小程序,然后自己再试着用手动编写代码的方法实现多窗口切换,接下来分享一下我用这两种方法实现的多窗口编程,以及中间所出现的一些错误,供Qt Gui初学者参考。一、使用手动编写代码首先,我们的实现结果如下图所示:原创 2014-12-29 19:20:47 · 14378 阅读 · 3 评论 -
在运行qt程序时遇到的collect2:ld returned 1 exit status
在Linux下运行qt程序make时遇到错误原创 2014-11-13 20:09:04 · 10221 阅读 · 3 评论 -
Qt中moc详解
原文出自http://devbean.blog.51cto.com/448512/355100转载 2014-11-13 21:32:44 · 3497 阅读 · 0 评论 -
Qt GUI程序中主线程与非主线程之间的通信
Qt应用程序exec后就会生成一个线程,这个线程就是主线程,在GUI程序中也称为GUI线程。主线程也是唯一允许创建QApplication或QCoreAppliation对象,比并且可以对创建的对象调用exec()的线程,从而进入事件循环。 在只有主线程即单线程的情况中,每一个事件的发生都需要进入事件循环进行等待,如有在某一步计算量比较大,则会一直占用CPU不放,导致其它操作无法完成,界面陷入冻结原创 2015-12-04 09:45:27 · 9918 阅读 · 4 评论