
C/C++/MFC/Qt
feiyu_qq
这个作者很懒,什么都没留下…
展开
-
QtCreator创建的GUI Project工程文件介绍
相信用过Qt Designer的朋友,对Qt Project中的.ui文件并不陌生。这个文件在Qt Designer中并不能直接修改其源代码,而只能通过Qt Designer的图形工具对其进行操作。对于这一点,我不得不要赞一下设计Qt Designer的人,因为这大大可以避免.ui文件中出现语法错误的概率,同时使得程序员能省下大量的程序界面设计时间进而缩短整个程序项目的开发。原创 2015-10-19 11:46:27 · 1482 阅读 · 0 评论 -
override
https://www.cnblogs.com/xinxue/p/5471708.htmlC类型强制转换 形式:(type)object或type(object)最好是使用type(object);原因是:在某些编译器下,(type)object不会调用构造函数,而type(object)下则肯定会调用构造函数C类型强制转换会按照以下顺序进行尝试转换:a. const_castb. stati...转载 2018-05-14 16:13:11 · 1024 阅读 · 0 评论 -
C++11中的匿名函数(lambda函数,lambda表达式)
立即执行函数1. connect(&m_configAutoTstTimer, &QTimer::timeout, [&]() { if (!m_isConfigChanged) { slotUpdateConfig((m_devFlags & (~(1 << BITNUM_MAIN...原创 2018-05-14 15:50:19 · 338 阅读 · 0 评论 -
如何判断system命令执行结果
1. 先来看一下system()函数的简单介绍:1#include <stdlib.h>2int system(const char *command);system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has bee...原创 2018-04-04 17:15:33 · 6860 阅读 · 0 评论 -
Qt的qDebug使用
使用 " qDebug() << "一定要添加头文件 #include <QDebug>然而 int num = 20; char str[20]="hello world"; qDebug("如果只写在括号里,是不需要QDebug头文件的 %d %s", num, str);消除qDebug()打印qDebug的打印信息,主要是为了方便调试程序时尽快找到bug,所以当...原创 2018-04-04 11:23:18 · 52253 阅读 · 0 评论 -
Qt绘制一个宝马标志
main.cpp#include "polygongraph.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); polygongraph w; w.show(); return a.exec();}polygongraph.h#ifndef...原创 2018-04-04 11:03:28 · 686 阅读 · 0 评论 -
Qt代码跟踪器-Tracer类
Tracer.h#ifndef TRACER_H#define TRACER_H#include <QDebug>#include <iostream>#define TRACER_DEBUG#ifdef TRACER_DEBUG#define TRACER \do { \ Tracer tracer(__FUNCTION__ ); \ qDebug(); \}w...原创 2018-04-04 10:59:21 · 1218 阅读 · 0 评论 -
QT的单例模式
类型1:classA.h#include <QObject>class classA : public QObject{ Q_OBJECTpublic: static classA* instance(){static classA m_classA; return &m_classA;} ~classA();private: explicit clas...原创 2018-03-28 14:46:14 · 756 阅读 · 0 评论 -
十六进制 QString 转QString
在升级实现过程中,为了制作唯一的升级文件,所以升级过程中绑定了设备ID。然而设备ID字符串比较特殊,都是奇怪的字符,上位机工具不方便输入,故统一做十六进制字符串输入。因此才有了如下问题。一般16进制Qstring转Qstring如下即可:Qstring str("704e0520361c5434"); QByteArray temp(""); temp.append(str);QByteArra...原创 2018-04-08 17:44:13 · 3057 阅读 · 0 评论 -
Openssl命令制作证书
1.生成私钥openssl genrsa -out rsa_private.key 10242.使用私钥生成公钥openssl rsa -in rsa_private.key -pubout -out rsa_public.key3.生成自签名证书openssl req -new -x509 -days 365 -key rsa_private.key -out cert.cer -subj "/...原创 2018-04-08 17:42:46 · 314 阅读 · 0 评论 -
Botan学习之test_hash
1 #define BOTAN_REGISTER_TEST(type, Test_Class) \ namespace { Test::Registration reg_ ## Test_Class ## _tests(type, new Test_Class); } \ BOTAN_FORCE_SEMICOLON2 #define BOTAN_FORCE_SEMICOLON str...原创 2018-03-10 00:07:20 · 297 阅读 · 0 评论 -
botan学习之二
1.typedef std::unordered_map<std::string, std::string> VarMap; unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素...原创 2018-03-09 23:29:35 · 1828 阅读 · 0 评论 -
botan学习
std::vector<std::string> required_keys = Botan::split_on(required_keys_str, ',');Botan::split_on用‘,’来分割字符串required_keys_str,为一个字符串数组,使用vector存放;class Provider_Filter final { public: Pro...原创 2018-03-08 23:50:00 · 450 阅读 · 0 评论 -
QT关键问题解决之paintevent理解
基础概念:paintEvent(QPaintEvent*)函数是QWidget类中的虚函数,用于ui的绘制,会在多种情况下被其他函数自动调用,比如update()时。运行时机:一个重绘事件用来重绘一个部件的全部或者部分区域,下面几个原因的任意一个都会发生重绘事件:(1)repaint()函数或者update()函数被调用;(2)被隐藏的部件现在被重新显示;(原创 2018-01-01 20:37:59 · 87046 阅读 · 5 评论 -
Qt Creator创建 的 project工程文件介绍
用Qt Creator创建一个带有ui文件的GUI Project创建过程中选择这个窗口类是基于QMainWindow、QWidget还是QDialog;然后,我们可以得到5个文件,一个.pro文件,一个.ui文件,一个.h文件,两个.cpp文件(其中一个是main.cpp,其包含着Qt程序的入口函数main);打开.h文件的话,我们会看到如下一段声明: namespace Ui原创 2015-10-19 11:24:15 · 3204 阅读 · 0 评论 -
模板与泛型编程
条款1:了解隐式接口和编译期多肽条款2:了解typename的双重意义条款3:学习处理模板化基类内的名称条款4:将与参数无关的代码抽离templates条款5:运用成员函数模板接受所有兼容类型条款6:需要类型转换时请为模板定义非成员函数条款7:请使用traits classes表现类型信息条款8:认识template元编程...原创 2018-05-16 15:52:42 · 163 阅读 · 0 评论