问题标签 [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.
c++ - 生成随机 QString 每次都会产生相同的结果
我正在做一个 QT 项目,用户输入他们的全名,程序根据他们名字中的字母生成一个随机的 5 个字符的密码。不幸的是,我遇到了一个问题,但每次我重新运行程序时,它都会产生相同的结果。所以它显然不是很随机。即使在退出 QT Creator 并再次打开它并使用相同的用户输入运行程序后,它也会产生相同的结果。
我还需要生成不带空格的密码。
这是我的代码:
任何解决方案将不胜感激。
qt - QChar 为乘号“×”存储负的 Latin1 代码
我想获得乘号的 Latin1 代码×
,但是当我检查它里面的值QChar
时-41'×'
。
我的代码:
当我调试时,在第二行中我看到的QChar
值为-41'×'
.
我更改了代码:
但我得到的值是 215,我希望是 158。
c++ - 在 QString 中推送 QChar
这里的目的是通过 ORing 或 ANDing 来操作 8 位,然后将它们存储在一个字符串中。
然后我想将输出读取为十进制。
该程序的输出是:
这里的“d”是什么?
c++ - 如何有效地仅转换 UTF-8 字节数组中的下一个字符?
我有这个有效的代码:
其中bp
aQByteArray::const_pointer
和ut
是 UTF-8 编码的 Unicode 代码点的最大预期长度。然后我QChar c
从QString 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
并且si
是QString::const_iterator
。它们的作用完全相同(假设编解码器设置为 UTF-8)。它们都将下一个(一个)字符从QChar
指向的字符转换为 a中的字符,QString
从而在ba
.
我要做的就是一次只对一个字符进行有效的逆变换。在内部,这是为每个被转换的字符完成的,我相信它正在非常有效地完成。
问题QString::fromUtf8(p,n)
在于要处理n
的字节数而不是要转换的字符数。因此,您必须允许最大字节数,可能是 3(如果实际处理代理对,则为 4)。因此,如果您想要的只是下一个字符,您必须准备好处理几个字节,并且如果结果是QString
包含多个字符的 a,它们确实会被转换然后被丢弃。
问:是否有一次转换一个字符的转换功能?
c++ - QChar 到 uint32_t 在 Qt 中的转换/强制转换
我有QString
1500个QChar
,我想将其转换为uint32_t
. 我正在读取 for 循环中的每个元素并尝试将每个元素保存QChar
到QString
数组uint32_t
中。我可以通过将其转换为等效的表示形式(例如 1 -> 49),data[i].unicode()
但我希望uint32_t
数组形式的相同字符串用于进一步处理。
有什么解决办法吗?
c++ - 如果`isDigit()`,QChar 获取数字值
如何优雅地获取数字值?
看起来不太好。
QString
自从创建一个 QString 对象并开始为此目的进行解析之后,转换为也似乎是矫枉过正。
我错过了任何更好的选择或界面吗?
qt - qt QScatterSeries 点击信号被发送到 ChartView mousePressEvent
我有一个 QChartView 的自定义实现,我可以在其中进行缩放。(本示例中的“ ChartView ”类)在那里我有一个mousePressEvent。
现在我想添加一个 QScatterSeries 并将clicked信号与自定义插槽连接。不幸的是,只要我单击我的 QScatterSeries,就只会向我的 ChartView mousePressEvent 插槽发出信号,而不是向我的QScatterSeries mypoint_clicked插槽发出信号。
我还添加了一个工作正常的QScatterSeries 悬停信号。
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
. 然后程序将由于该错误而崩溃。那么,当值全部启动
时,我怎样才能避免这个错误呢?QBarSet
0
qt - 将多字节字符数组转换为 QChar 数组
我有两个缓冲区(示例大小):
假设 'c' 包含多字节字符串 (UTF-8)。我需要将其转换为 QChar 序列并将其放在“q”中。我想我需要的一个很好的例子可能是MultiByteToWideChar函数。
重要提示:此操作不应涉及任何显式或隐式内存分配,可能除了堆栈上的额外分配。如果您不确定上述内容是什么意思,请不要回答。