![](https://img-blog.csdnimg.cn/5af1f86fdc0a43c3a7178ab185cb2edc.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
客户端开发
文章平均质量分 95
客户端研究,主要包括Qt、MFC、DuiLib等客户端开发技术
hello world 999
日拱一卒无有尽,功不唐捐终到海,十年磨一剑,再见顶峰相见。
展开
-
【Qt学习】08:文件读写操作
在使用QDataStream的时候代码很方便,但使用了QTextStream时却有所不同,使用QDataStream写入的时候,实际上会在要写入的内容前面,额外添加一个这段内容的长度值。操作这种文件需要使用QTextStream类,QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。QDataStream既能够存取 C++ 基本类型,也可以存取复杂的数据类型,例如自定义的类(实际上QDataStream对于类的存储,是将复杂的类分割为很多基本单元实现的)。原创 2023-08-26 09:16:45 · 261 阅读 · 0 评论 -
【Qt学习】07:绘图与绘图设备
QPicture是可以记录和重现QPainter命令的绘图设备,QPicture将QPainter的命令序列化到一个IO设备,保存为一个平台独立的文件格式,这种格式有时候会是元文件meta- files。Qt的这种格式是二进制的,不同于某些本地的元文件Qt的pictures文件没有内容上的限制,只要是能够被QPainter绘制的元素,不论是字体还是pixmap,或者是变换都可以保存进一个picture中。可以将QPainter理解成画笔,QPaintDevice理解成使用画笔的地方,比如纸张、屏幕等;原创 2023-08-26 09:14:57 · 225 阅读 · 0 评论 -
【Qt学习】06:事件与事件过滤器
该函数接受一个QObject *类型的参数,eventFilter()函数是QObject的一个成员函数,因此任意QObject都可以作为事件过滤器(如果没有重写eventFilter()函数,这个事件过滤器是没有任何作用的,默认什么都不会过滤)。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器event handler(event()函数主要用于事件的分发)。该函数为任意线程的任意对象的任意事件调用,因此不存在事件过滤器的线程的问题。原创 2023-08-26 09:11:08 · 1532 阅读 · 0 评论 -
【Qt学习】05:自定义封装界面类
/方式1//方式2 listi < 4;原创 2023-08-26 09:07:33 · 1369 阅读 · 0 评论 -
【Qt学习】04:QDialog
对话框分为模态对话框和非模态对话框,模态对话框,会阻塞同一应用程序中其它窗口的输入。模态对话框很常见,比如“打开文件”功能。你可以尝试一下记事本的打开文件,当打开文件对话框出现时,我们是不能对除此对话框之外的窗口部分进行操作的。非模态对话框相反,例如查找对话框,我们可以在显示着查找对话框的同时,继续对记事本的内容进行编辑。使用实现应用程序级别的模态对话框使用实现窗口级别的模态对话框使用实现非模态对话框。原创 2023-08-26 09:01:30 · 1935 阅读 · 0 评论 -
【Qt学习】03:QMainWindow
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏menu bar、多个工具栏tool bars、多个锚接部件dock widgets、一个状态栏status bar及一个中心部件central widget,是许多应用程序的基础,如文本编辑器、图片编辑器等。原创 2023-08-26 09:00:13 · 126 阅读 · 0 评论 -
【Qt学习】02:信号和槽机制
使用connect可使用系统提供的信号和槽,但Qt的信号槽机制并不仅仅是使用系统提供那部分,其还允许开发者设计自己的信号和槽,发送者和接收者都需要是QObject的子类(槽函数是全局函数、Lambda 表达式等无需接收者的时候除外);自定义信号signal返回值是 void,只需要声明不需要实现,可以有参数(发生重载)槽函数是普通的成员函数,需要声明也需要实现,会受到 public、private、protected 的影响(早期必须写到public slots作用域下)原创 2023-08-26 08:58:40 · 241 阅读 · 0 评论 -
【QT学习】01:helloqt
在析构过程中它会调用子对象列表中每一个对象的析构函数,也就是说 quit 此时就被析构了。作为父组件的 window 和作为子组件的 quit 都是QObject的子类(事实上,它们都是QWidget的子类,而QWidget是QObject的子类)。因此这段代码在超出作用域时,会先调用 quit 的析构函数,将其从父对象 window 的子对象列表中删除,然后才会再调用 window 的析构函数。这里析构顺序就出现了问题,在上面的代码中作为父对象的 window 会首先被析构,因为它是最后一个创建的对象。原创 2023-08-03 17:13:30 · 340 阅读 · 0 评论