- 博客(13)
- 资源 (52)
- 收藏
- 关注
原创 Qt一些源码实现细节及内部实现简析
Qt中,最重要的机制,莫过于信号和槽了,现在我们谈谈关于信号(emit)和槽(slots)编译器幕后的故事。当我们写下一下emit signal代码的时候,与这个signal相连接的slot就会被调用,那么这个调用是如何发生的? 首先,让我们来看一段例子代码:class ZMytestObj : public QObject{Q_OBJECTsignals:void si
2017-10-29 19:06:56 3444
原创 Qt常见设置背景图片的几种方法总结
常用的设置背景的方式有三种:1、利用style sheet给窗体设置背景。2、利用Qt UI设计器的改变样式表进行设置。如下:3、通过如下代码来实现。QPixmap pixmap(":/Resources/Penguins.jpg");
2017-10-29 19:03:39 12955 1
原创 Qt窗口组件实现动态背景功能
Qt窗口组件实现动态背景实际上就是使用QtMovie类的动态播放功能,测试代码如下:#include "mainwindow.h"#include "ui_mainwindow.h"#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){
2017-10-28 21:03:23 7179 1
原创 Qt的一些隐藏细节和功能总结
1. Q_GADGET:不需要从QObject继承就可以使用Qt的Meta Object功能 2.Q_ENUMS:对枚举对象进行反射(reflection) 3.Q_SIGNAL:不需要signals关键字就可以将一个函数指定为singal函数 4.Q_SLOT:不需要slots关键字就可以将一个函数指定为slot函数 5.Q_FOREACH:Qt提供的关键字foreach
2017-10-28 20:20:04 1611
原创 UTF-8带BOM格式与UTF-8无BOM格式转换
Qt在windows下使用VS建立的工程文件转到Linux环境下编译报出大量错误,反过来也一样,原来是编码的问题。VS采用UTF-8 BOM格式编码,而Linux下采用UTF-8无BOM格式。BOM用来标记编码的字节顺序,但是由于编码字节顺序对于UTF-8来说无关紧要,而且Unicode标准也并不推荐使用带BOM的UTF-8编码格式。总之,由于Windows和Linux的不同,为避免使用Not
2017-10-28 19:59:27 18114 3
原创 Qt处理中文乱码详解
Qt4.X版本对中文支持不是很好,Qt5对中文支持比Qt4好多了,但是依然会遇到中文支持乱码问题,甚至在一个源码里面,对一些中文支持很好,但是有些中文字符添加就会带来编译错误,常见的中文支持错误如下图1.1所示: 解决办法一: 把源码在UE打开,设置保存编码为UTF-8带Bom格式编码,再次编译,编译通过。当然,这是在windows平台,如果要在
2017-10-28 19:36:34 887
原创 Qt动态添加删除控件总结
Qt动态添加控件的方法,具体而言就是根据用户操作生成新的控件到界面,同时,相应的操作可以使得控件动态删除。使用Qtcreate创建一个UI生成文件,在生成的对象构造函数中,选择要显示的区域,布局,并添加响应的槽函数槽函数实现: Btumenu*btumenu=newBtumenu(this); ui->gridLayout->addWidget(btumenu); btumen
2017-10-28 19:04:05 11108 2
原创 Qt常用窗口操作函数
在 Qt的这种以GUI为核心的程序中,窗口操作是一件频率很高的事,常见的窗口操作函数有:(1).frameGeometry()几何尺寸(位置+大小)对于窗口,包含窗口装饰器(2).x()y()pos()只包含位置信息(左上角坐标)(3).move()只移动位置(4).geometry()几何尺寸(位置+大小)不包含窗口装饰器(5).width()he
2017-10-27 22:16:21 1925
原创 Qt获取控件位置坐标详解
1. QPoint QMouseEvent::pos() 这个只是返回相对这个widget(重载了QMouseEvent的widget)的位置。 const Returns the position of the mouse cursor, relative to the widgetthat received the event. If you move the
2017-10-27 22:15:13 17151 1
原创 QTableWidget属性及美化总结
(1). QTableWidget创建及属性设置tableWidget = new QTableWidget(this);tableWidget->setRowCount(10);tableWidget->setColumnCount(3);//tableWidget->setFrameShape(QFrame::NoFrame);//设置边框//tableWidget->s
2017-10-25 15:01:05 20753
原创 QT中layoutstretch属性简析
相对一个horizontalLayout中的两个QTextEdit控件按2:3的比例扩大具体方法: 把horizontalLayout中的layoutstretch属性设置为2,3即可,layoutstretch属性的意思是horizontalLayout里面的两个控件按2:3的宽度显示。同理如果horizontalLayout里面放了三个控件,layoutstretch里面的
2017-10-20 18:13:02 9528 1
原创 Qt常用窗口组件使用总结
Qt中所有的类都有一个共同的基类QObject ,QWidget直接继承与QPaintDevice类,QDialog、QMainWindow、QFrame直接继承QWidget 类。QWidget类是所有用户界面对象的基类。窗口部件(QWidget)是用户界面的一个基本单元:它从窗口系统接收鼠标,键盘和其他事件,并且在屏幕上绘制自己。每个窗口部件都是矩形的,并且它们按Z轴顺时针排列。一个窗
2017-10-20 13:31:43 1679
原创 如何提高C/C++大型项目的软件质量?
如何提高c/c++大型项目的软件质量? 软件的交付质量一直是我们软件开发项目最为关注的核心问题,那么如何保证软件项目,尤其是大型和超大型软件项目的质量,不管在国内还是国外一直是许多软件企业一直关注和研究的问题。 通常我们会在功能性,可用性,高效性,可测试性,可维护性和可移植性等6个维度来对软件质量进行把控和评定。1.功能性,即软件是否满足了客户业务要求;2.可用性,即衡量...
2017-10-01 22:11:55 5122
Navicat安装指导及安装资源
2024-03-23
vncserver和vncviewer
2017-06-01
大数据资料集锦
2016-03-30
Hadoop技术全套图书
2016-03-21
jQuery瀑布流经典布局源码
2016-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人