标签: qstring

QString拆分多个分隔符

我无法正确拆分QString.除非我弄错了,对于多个分隔符我需要一个正则表达式,而我似乎无法找出一个表达式,因为我对它们很新.

字符串是从文件输入的文本:

f 523/845/1 524/846/2 562/847/3 564/848/4

我需要将每个数字单独放入一个数组中.

一些代码......

QStringList x;
QString line = in.readLine();
        while (!line.isNull()) {
            QRegExp sep("\\s*/*");

            x =  line.split(sep);
Run Code Online (Sandbox Code Playgroud)

有什么指针吗?

干杯

regex qstring qt split

3
推荐指数
1
解决办法
9127
查看次数

QString到std :: string

我正在尝试使用Visualc ++ 2010中的示例代码并崩溃

QString fileName = "helloworld";
std::string str = fileName.toStdString();
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt visual-c++

3
推荐指数
1
解决办法
1万
查看次数

将QString转换为十六进制?

我有一个QString,我从用户附加数据输入.

在QString的末尾,我需要附加"Normal"QString的十六进制表示.

例如:

QString Test("ff00112233440a0a");
QString Input("Words");

Test.append(Input);//but here is where Input needs to be the Hex representation of "Words"

//The resulting variable should be
//Test == "ff00112233440a0a576f726473";
Run Code Online (Sandbox Code Playgroud)

如何从ASCII(我认为)转换为十六进制表示?

谢谢你的时间.

c++ qstring qt hex ascii

3
推荐指数
1
解决办法
8084
查看次数

问:如何在QTableWidget中的单元格中插入字符串

可能重复: 用文件中的QString填充一些QTableWidgetItems

  1. 如何在运行时在QTableWidget中插入行?
  2. 如何在QTableWidget的单元格中插入硬编码字符串?

这是我在被卡住之前尝试过的...我已经使用Qt设计器插入了QTableWidget.

代码:mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    /*add stuff inside the table view*/
    QString line = "hello";
    for(int i=0; i<ui->tableWidget->rowCount(); i++)
    { 
        for(int j=0; j<ui->tableWidget->columnCount(); j++)
        {
            QTableWidgetItem *pCell = ui->tableWidget->item(i, j);
            if(!pCell)
            {
                pCell …
Run Code Online (Sandbox Code Playgroud)

qstring qt insert qtablewidget qtablewidgetitem

3
推荐指数
1
解决办法
1万
查看次数

QString 度数符号

我想知道在翻译中写学位符号的最佳和最干净的解决方案是什么。

我有,tr( "Snap to 90%1 angles" ).arg( QString::fromUtf8( "°" ) )但这不是很好。

我试过没有成功: tr( "Snap to 90° angles" )

我在 QAction 中使用它: mCommonAngleAction = new QAction( tr( "Snap to 90° angles" ), menu );

结果如下:

在此处输入图片说明

你有什么好的解决办法吗?

qstring qt special-characters

3
推荐指数
1
解决办法
1万
查看次数

QString arg 中的参数不超过 9 个?怎么处理呢?

我写了一个超过 9 个参数的长 QString,我只是这样使用它:

QString html = QObject::tr(
                "%1 %2 %3 %4 %5 %6 %7 %8 %9 %10 ...").arg(a, b, c, d, e, f, g, h, i, j);
Run Code Online (Sandbox Code Playgroud)

但是 QtCreator 产生错误,参数不能超过 9 个...我阅读了文档: http: //doc.qt.io/qt-5/qstring.html,其中有一个arg函数定义:

QString arg(const QString & a1, const QString & a2, const QString & a3, const QString & a4, const QString & a5, const QString & a6, const QString & a7, const QString & a8, const QString & a9) const

所以看来这就是问题所在。有什么优雅的方法可以处理这个问题,或者我只能连接 2 个字符串?

c++ qstring qt

3
推荐指数
1
解决办法
2900
查看次数

使用QString基本函数从路径获取文件名

QString有一些路径:

QString path = "C:/bla/blah/x/y/file.xls";
Run Code Online (Sandbox Code Playgroud)

我认为可能获得最后一次补偿/将是一个良好的开端.然后我可以使用right方法(没有双关语)来获取该角色之后的所有内容:

path = path.right(path.lastIndexOf("/"));
Run Code Online (Sandbox Code Playgroud)

或者以更兼容的方式:

path = path.right(std::max(path.lastIndexOf("\\"), path.lastIndexOf("/")));
Run Code Online (Sandbox Code Playgroud)

两者都有相同的坏结果:

ah/x/y/file.xls
Run Code Online (Sandbox Code Playgroud)

这有什么不对?很明显,这条道路很快就被削减了,但它甚至更奇怪,它根本就没有削减/.

qstring qt path

3
推荐指数
1
解决办法
7298
查看次数

Qt QString toInt()失败

我有一个'QString'包含"-3.5",但是如果我尝试使用'toInt'方法将其转换为整数,则返回0.为什么?

    QString strTest = "-3.5";
    int intTest = strTest.toInt();

    qDebug() << intTest;
Run Code Online (Sandbox Code Playgroud)

intTest将为0?

c++ qstring

3
推荐指数
2
解决办法
3400
查看次数

如何从 QString 中删除反斜杠?

使用QNetworkManager get方法我从一个 url 接收一个 json。
做:qDebug()<<(QString)reply->readAll();结果是:

"\r\n[{\"id\":\"1\",\"name\":\"Jhon\",\"surname\":\"Snow\",\"phone\":\"358358358\"}]"
Run Code Online (Sandbox Code Playgroud)

所以我在做strReply = strReply.simplified();,结果是:

"[{\"id\":\"1\",\"name\":\"Jhon\",\"surname\":\"Snow\",\"phone\":\"358358358\"}]"
Run Code Online (Sandbox Code Playgroud)

但是我不能像 Json 一样使用它来解析它以在我的 qt 程序中使用它。所以我想我需要删除每个反斜杠\并获得:

"[{"id":"1","name":"Jhon","surname":"Snow","phone":"348348348"}]"
Run Code Online (Sandbox Code Playgroud)

我尝试过,strReply.remove(QRegExp( "\\\" ) );但任何奇怪的连接\都会导致解释器将最后\一个之后的每一件事都视为字符串。

c++ qstring qt qt5

3
推荐指数
1
解决办法
3336
查看次数

解析并删除部分QString

我想从QString解析某种(或纯粹的)XML代码.

我的QString就像:

<a>cat</a>My cat is very nice.
Run Code Online (Sandbox Code Playgroud)

我想获得2个字符串:

,我的猫非常好.

我认为XML解析器可能不是必需的,但是将来我会在同一个字符串中有更多的标签,所以它也是一个非常有趣的点.

c++ xml qstring qt parsing

2
推荐指数
1
解决办法
5522
查看次数