甄文超

TNT 数字生活

All Posts in 2024.3


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