关于qt随机值传递给label问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于qt随机值传递给label问题相关的知识,希望对你有一定的参考价值。

在qt中如何产生一个随机值或者有规律的值都行。。每次产生的值都一次送个固定的label。。求哪位大神指导下该怎么写?

参考技术A

    qt产生随机数

    可以使用c语言中的rand(),qt封装了一个线程安全的qrand()函数,与rand()用法一致。同样,qsrand()与srand()用法一致。

    在QLabel中显示

    直接调用QLabel::setText()函数即可。

关于将值传递给方法的困惑? [复制]

【中文标题】关于将值传递给方法的困惑? [复制]【英文标题】:Confusion regarding passing values to a method? [duplicate] 【发布时间】:2021-04-13 22:37:23 【问题描述】:

我真的很困惑如何将值传递给函数。当我们将值传递给函数时,我无法弄清楚哪些类型的值会发生变化。

示例 1 - 将字符串(引用类型)传递给函数 -

public static String word = new String("Hello World");

public static void main(String[] args)

    System.out.println("Before: " + word);
    UpdateValue(word);
    System.out.println("After: " + word);


public static void UpdateValue(String x)

    x = "Hi World";

输出:

Before: Hello World
After: Hello World

示例 2 - 将 String[] 数组传递给函数 -

public static String[] words = new String[] "Hello", "Everyone";

public static void main(String[] args)

    System.out.println("Before: " + Arrays.toString(words));
    UpdateValue(words);
    System.out.println("After: " + Arrays.toString(words));


public static void UpdateValue(String[] x)

    x[0] = "Hi";

输出:

Before: [Hello, Everyone]
After: [Hi, Everyone]

我的问题 -

这一切是如何运作的? String 是引用类型,所以我的 之前的假设是,如果我们通过它,值将会改变 到一个函数。但那并没有发生。 值没有改变。 同时,当我传递数组时(在Java中是一个对象,所以基本上是一个引用 type?) 我们看到原来的值改变了

【问题讨论】:

在 Java 中对象是按值传递的,但值是对对象的引用(数组也是对象),在示例 1 中,您正在分配一个 不同 的引用对象到参数,所以给定它是按值传递的,调用者不会更新。在示例 2 中,您正在更新数组 inside 的引用,因此调用者可以看到更改,因为它是它传入的 same 数组。顺便说一句:使用 @ 987654326@ 是不必要且浪费的,被认为是一种不好的做法。 【参考方案1】:

两者都作为参考传递。方法中的局部变量(最初)指向与调用者(main)相同的对象。

这就是发生的事情。

字符串是不可变的。当您在方法中重新分配 String 时,会创建一个新对象,并更新本地引用以指向新对象。原始对象仍然存在,main 中的引用仍然指向它。

我是第二个例子,对数组的引用以相同的方式复制。本地引用指向与 main 中相同的数组。但是这次数组引用没有更新。而是将数组中的一个字符串引用更新为指向一个新的字符串对象。

【讨论】:

以上是关于关于qt随机值传递给label问题的主要内容,如果未能解决你的问题,请参考以下文章

在qt中将值从一个按钮传递给另一个按钮

QT中两个类之间如何进行值传递?如何一个类里面定义了一个数组a[270],怎么传递给另一个类?

关于将值传递给方法的困惑? [复制]

OpenGL:将随机位置传递给顶点着色器

onchange事件如何将日期值传递给javascript

从数据表中获取值并将其传递给标签