问题标签 [qchar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
465 浏览

c++ - 生成随机 QString 每次都会产生相同的结果

我正在做一个 QT 项目,用户输入他们的全名,程序根据他们名字中的字母生成一个随机的 5 个字符的密码。不幸的是,我遇到了一个问题,但每次我重新运行程序时,它都会产生相同的结果。所以它显然不是很随机。即使在退出 QT Creator 并再次打开它并使用相同的用户输入运行程序后,它也会产生相同的结果。

我还需要生成不带空格的密码。

这是我的代码:

任何解决方案将不胜感激。

0 投票
2 回答
158 浏览

qt - QChar 为乘号“×”存储负的 Latin1 代码

我想获得乘号的 Latin1 代码×,但是当我检查它里面的值QChar-41'×'

我的代码:

当我调试时,在第二行中我看到的QChar值为-41'×'.

我更改了代码:

但我得到的值是 215,我希望是 158。

0 投票
4 回答
1432 浏览

c++ - 在 QString 中推送 QChar

这里的目的是通过 ORing 或 ANDing 来操作 8 位,然后将它们存储在一个字符串中。

然后我想将输出读取为十进制。

该程序的输出是:

这里的“d”是什么?

0 投票
1 回答
1291 浏览

c++ - 如何有效地仅转换 UTF-8 字节数组中的下一个字符?

我有这个有效的代码:

其中bpaQByteArray::const_pointerut是 UTF-8 编码的 Unicode 代码点的最大预期长度。然后我QChar cQString qs. 似乎应该有一种更有效的方法来简单地QChar从 UTF-8 字节数组中获取下一个,而不必将任意数量的 a 转换QByteArray为 aQString然后只获取第一个QChar.

编辑从下面的评论中,很明显没有人理解我的问题。所以我将从一些基础知识开始。UTF-8 和 UTF-16 是世界标准 Unicode 的两种不同编码。通过 Internet 和 Unicode 文本文件传输的最常见和最受鼓励的 Unicode 编码是 UTF-8,这导致每个 Unicode 代码点在 UTF-8 编码中使用 1 到 4 个字节。另一方面,UTF-16 更方便处理程序内部的字符。因此,绝大多数软件一直在这两种编码之间进行转换。QChar 是从 0x00 到 0xffff 的所有 Unicode 代码点的更方便的 UTF-16 编码,它涵盖了迄今为止定义和常用的大多数语言和符号。代理对用于更高的 Unicode 代码点值。

当您将文本文件读入时QPlainTextEdit,转换会在后台自动完成。QString从 a中读取 aQByteArray也可以自动完成(前提是您的语言环境和编解码器设置为 UTF-8),或者可以使用 toUtf8() 或 fromUtf8() 显式完成,如我上面的代码。

可以使用以下代码隐式(在幕后)或显式有效地完成另一个方向的转换:

或者

哪里ba是 aQByteArray并且siQString::const_iterator。它们的作用完全相同(假设编解码器设置为 UTF-8)。它们都将下一个(一个)字符从QChar指向的字符转换为 a中的字符,QString从而在ba.

我要做的就是一次只对一个字符进行有效的逆变换。在内部,这是为每个被转换的字符完成的,我相信它正在非常有效地完成。

问题QString::fromUtf8(p,n)在于要处理n字节数而不是要转换的字符数。因此,您必须允许最大字节数,可能是 3(如果实际处理代理对,则为 4)。因此,如果您想要的只是下一个字符,您必须准备好处理几个字节,并且如果结果是QString包含多个字符的 a,它们确实会被转换然后被丢弃。

问:是否有一次转换一个字符的转换功能?

0 投票
2 回答
1101 浏览

c++ - QChar 到 uint32_t 在 Qt 中的转换/强制转换

我有QString1500个QChar,我想将其转换为uint32_t. 我正在读取 for 循环中的每个元素并尝试将每个元素保存QCharQString数组uint32_t中。我可以通过将其转换为等效的表示形式(例如 1 -> 49),data[i].unicode()但我希望uint32_t数组形式的相同字符串用于进一步处理。

有什么解决办法吗?

0 投票
1 回答
1600 浏览

c++ - 如果`isDigit()`,QChar 获取数字值

如何优雅地获取数字值?

看起来不太好。

QString自从创建一个 QString 对象并开始为此目的进行解析之后,转换为也似乎是矫枉过正。

我错过了任何更好的选择或界面吗?

0 投票
1 回答
595 浏览

qt - qt QScatterSeries 点击信号被发送到 ChartView mousePressEvent

我有一个 QChartView 的自定义实现,我可以在其中进行缩放。(本示例中的“ ChartView ”类)在那里我有一个mousePressEvent

现在我想添加一个 QScatterSeries 并将clicked信号与自定义插槽连接。不幸的是,只要我单击我的 QScatterSeries,就只会向我的 ChartView mousePressEvent 插槽发出信号,不是向我的QScatterSeries mypoint_clicked插槽发出信号。

我还添加了一个工作正常的QScatterSeries 悬停信号。

0 投票
1 回答
418 浏览

c++ - Qt 图表错误:ASSERT: "width > 0.0" in file painting\qrasterizer.cpp, line 761

QValueAxis在使用时出现错误QtCharts

断言:文件绘画\qrasterizer.cpp 中的“宽度 > 0.0”,第 761 行

QBarSet值为 all时会发生这种情况0

我有这个例子,下面有最少的必要代码:

我的程序QBarSet将从QMap. 像这样:

并且在QMap程序启动时启动如下:

有时QMap由于程序的使用不会加值,那么所有的QBarSet值都会被初始化为0. 然后程序将由于该错误而崩溃。那么,当值全部启动

时,我怎样才能避免这个错误呢?QBarSet0

0 投票
1 回答
1427 浏览

c++ - 在 Qt 中,如何将 Unicode 代码点 U+1F64B 转换为包含其等效字符“”的 QString?

背景:

我正在制作一个哈希,它允许您通过向它提供一个包含其字符的 QString 来查找您在下面看到的描述。

字符映射示例

我得到了相关数据的完整列表,如下所示:

现在显然"1F64B"需要在这里包裹一些东西。我曾尝试过0x1F64B使用 QChar 之类的东西,但老实说,我在这里的黑暗中摸索着。我可以让它与拉丁字母等较低的值一起使用,但它在 5 个字符地址时失败。

问题:

  • 我该如何分类1F64B
  • 这被认为是 UTF-32 吗?
  • 我可以用什么包装这个值“1F64B”来生成 QString("")?
  • 包装是否也适用于较低的值?
0 投票
1 回答
622 浏览

qt - 将多字节字符数组转换为 QChar 数组

我有两个缓冲区(示例大小):

假设 'c' 包含多字节字符串 (UTF-8)。我需要将其转换为 QChar 序列并将其放在“q”中。我想我需要的一个很好的例子可能是MultiByteToWideChar函数。
重要提示:此操作不应涉及任何显式或隐式内存分配,可能除了堆栈上的额外分配。如果您不确定上述内容是什么意思,请不要回答。