甄文超

TNT 数字生活

Technology Technology Category


Qt Android 全屏设置

本文解决的问题是Qt 编译到 Android 上,实现全屏的办法,同样适用于qml 看了很多网上说的办法,大多都是基于Qt 5.8 5.9的版本,都是说需要去重写java的OnCreate()方法,哇,各种骚操作,然后我发现程序直接就崩溃了。 冥思苦想,按照下面的办法成功了。 申明:我的测试环境是Qt 5.12 ,目前最新版本,应该5.10过后的版本都应该是这样设置的。 如果你的Qt开发版本低于5.10,请看其他人的帖子。 其实方法很简单,跟着我左手右手一个慢动作。 第一步:你需要一个 AndroidManifest.xml 文件,这个文件你在编译的时候会自动的生成,不再需要我们自己去新建了,Qt新版本自动生成,所以,老版本的Qt开发,真的难受。这个文件在你的生成目录下。我的目录如下: D:Peterbuild-Peter-Android_for_armeabi_v7a_Clang_ …

QT

QTimer

QTimer类提供了重复和单次触发信号的定时器。QTimer类为定时器提供了一个高级别的编程接口。很容易使用: 首先,创建一个QTimer,连接timeout()信号到适当的槽函数,并调用start(), 然后在恒定的时间间隔会发射timeout()信号。 当QTimer的父对象被销毁时,它也会被自动销毁。 示例1: QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), [=](){ //to do... }); timer->start(1000); start()之后,每秒执行todo 示例2: 通过静态函数QTimer::singleShot()让定时器只执行一次: QTimer::singleShot(200, [=](){ //todo ... }); 也可以通过设置 …

QT

C++函数参数传递的三种方式

1、值传递 将已经初始化的变量值(或常量)传递到函数中。 int func(int value) { int ret = value++; return ret; } //调用函数时,实参需要先进行初始化 int num = 2; func(num); 因为,值传递是将实参的值赋值给了形参,形如上例中,实际上是:int value; value=num;,所以实参必须要先进行初始化。 另外,因为只是赋值,所以形参value值的改变,并不会影响实参num的值。 2、指针传递 对于指针传递来说,传递的是指针变量,也是值传递(此时值是指针),是值传递就必须先进行初始化。 1)形参未被初始化的情况(不被允许) int func(int *value) { value = (int*)malloc(sizeof(int)); } int *p ;//仅定义 …

QT C++

C++11 Lambda的变量捕获

一、Lambda Lambda一般格式是: [capture](param) mutable ->return-type {body} lambda中有个闭包的概念,也就是C这类语言中的域的概念,要访问闭包外的变量,就必须通过 [] 来捕获[]的形式有以下: [] 未定义任何变量,不能访问lambda之外定义的变量 [x, &y] x是通过值复制来访问的,y通过引用访问 [&] 能通过引用访问外部所有变量 [=] 外部变量都是通过值复制来访问 [&, x] x通过值复制访问,其他变量通过引用访问 [=, &z] z通过引用访问,其他变量通过值捕获 例1: int x=0; int y = 42; auto fun = [x, &y] { std::cout<<"x: "<& …

QT C++

WPS 单元格自定义格式-带图标的格式

1、使用效果: 正常显示: 编辑显示: 左侧的图标通过单元格的格式完成 2、实现方式: 右键单元格->设置单元格格式->自定义格式 将类型设置成如图所示,即可 3、图标怎么插入类型文本框 复制、粘贴 …

Windows

QList 集合查询方法

在QList中,如果要根据某个类的属性值来查找对象,可以使用std::find_if函数来实现。这两种方法都需要提供一个谓词函数(Predicate Function),用于判断目标对象是否符合条件。 假设我们有一个Person类,其中包含name和age两个属性,代码如下所示: class Person { public: QString name; int age; }; 现在有一个QList类型的对象,我们想根据name属性来查找对象。可以按以下步骤进行操作:  1、调用std::find_if函数来查找目标对象。 // 使用 std::find_if auto it = std::find_if(personList.begin(), personList.end(), [=](const Person& p) { return p. …

QT C++

qt windows 打包

步骤一:进入项目,指定为Release版本编译; 步骤二:将hello.exe文件拷贝到空文件夹“e:\1” 步骤三:在开始->程序里打开构建器 ,如图 步骤四: 1、打开hello.exe文件所在的目录 。 首先收入盘符“e:”,进入e盘根目录;然后 cd "全路径",进入目录。(cd 不能跨盘符跳转) 2、输入"windeployqt hello.exe",获取依赖文件 步骤五:将项目引用的第三方类库拷贝过来。 步骤六:收工 点击hello.exe直接运行 …

QT

qt openssl rsa

1、下载Open SSL,并安装 一定要下载全量的 2、配置Pro 3、rsa .h #ifndef RSA_H #define RSA_H #include <QString> #include <openssl/rsa.h> #include <openssl/pem.h> #include <openssl/err.h> #define BEGIN_RSA_PUBLIC_KEY "BEGIN RSA PUBLIC KEY" #define BEGIN_RSA_PRIVATE_KEY "BEGIN RSA PRIVATE KEY" #define BEGIN_PUBLIC_KEY "BEGIN PUBLIC KEY" #define BEGIN_PRIVATE_KEY "BEGIN PRIVATE KEY" #define KEY_LENGTH …

QT C++

qt creator 添加qt版本

在qt creator中收到添加qt版本的方法 第一步 打开构建套件对话框 第二步 选择Qt版本标签 第三步 创建构建套件 第四步 设置CMake …

QT

QT 静态函数发送信号

应用场景 在编写相机程序时,使用了相机的回调函数,此回调函数为静态成员函数,在需要发送的信号时发现静态成员函数直接发送信号会有问题; 非静态成员函数的非法调用。如下图: 思路原理 新建一个类,静态函数发送信号,用新建的类接收,然后再将这个信号发送出去。 项目案例 特意写了案例,ToolA类中静态函数发送信号,由MainWindow接收,如下: ToolA.h #ifndef TOOLA_H #define TOOLA_H #include &lt;QObject&gt; class ToolA : public QObject { Q_OBJECT public: explicit ToolA(QObject *parent = nullptr); static void Funcoo();//静态函数 将从此函数中发射出信号 private: …

QT C++