标签: qstring

从Qt字符串打开文件

我正在制作一个Qt应用程序,我有一个按钮来打开一个连接到自定义插槽的文件.这是到目前为止的插槽代码:

void MainWindow::file_dialog() {
    const QFileDialog *fd;
    const QString filename = fd->getOpenFileName();
}
Run Code Online (Sandbox Code Playgroud)

我怎么能拥有它然后将文件名转换为a const char *,打开文件,读取它并将文本存储在QString中,然后关闭文件.我正在使用Qt4.

c++ file-io qstring qt4 qfiledialog

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

将多行QString转换为单行QString

我有这样的事情:

void ReadFileAndConvert ()
{
    QFile File (Directory + "/here/we/go");

    if(File.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        QTextStream Stream (&File);
        QString Text;

        do
        {
            Text = Stream.readLine();
            Text = Text.simplified();
            // Here I want to convert the multiline QString Text into a oneline QString

// ...
}
Run Code Online (Sandbox Code Playgroud)

QString Text包含一个多行文本,我需要将其转换为在线Text/QString.我怎样才能做到这一点?问候

c++ qstring qt

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

Qt中逗号的数字

我尝试从QStringusing toFloat()方法中获取一个浮点数,但我得到0的每个数字都是我获取的.我认为数字格式是错误的,系统无法识别它,我怎样才能为这些数字设置正确的格式:119,68648

qstring qt qt4

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

计算QString参数

你知道如何计算可能的参数QString吗?

我想做的事情如下:

int argumentCount = countArguments(QString("This is the %1 argument, this is the %2 one")`);
Run Code Online (Sandbox Code Playgroud)

结果应该在哪里argumentCount == 2.

qstring qt

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

静态 QString 初始化失败

对不起我令人毛骨悚然的英语。在 Qt 4.8.4 中,我尝试使用静态 QString 字段创建单例类。它不能是 const,因为这个字段会在运行时改变值。通过常量 QString 初始化此字段,在同一文件中声明。

不幸的是,这是行不通的,并且在初始化字符串中

LogWay = QString("file.txt");
Run Code Online (Sandbox Code Playgroud)

程序意外以错误结束

下级停止了,因为它收到了来自操作系统的信号。信号名称:SIGSEGV 信号含义:分段错误

在文件“qatomic_i386.h”中

我做错了什么?此代码示例适用于 int、bool 或 double 变量,但不适用于 QString。为什么?我尝试在没有 QString 构造函数的情况下编写,使用简单的等式

LogWay = "...";
Run Code Online (Sandbox Code Playgroud)

但我有同样的错误。感谢您的帮助。

类的完整代码:

这是 .h 文件 #include

const double _ACCURACY_ = 0.0001;
static const QString _LOG_WAY_ = "GrafPrinterLog.txt";

class GlobalSet
{
private:
static QSettings *_Settings;
GlobalSet(){}
GlobalSet(const GlobalSet&){}
GlobalSet &operator=(const GlobalSet&);

static GlobalSet *GS;

public:
static double IntToCut;
static double ReplaceSize;
static double Accuracy;
static int MaxPointCount;
static bool NeedProper;
static QString LogWay; …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt static static-members

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

为什么选择QString("FFFFFFFF").toInt(0,16); 返回0?

您可能知道,0xFFFFFFFF在Two's Complement表示中等于-1(对于32位).但是以下代码:

qint32 aa = QString("FFFFFFFF").toInt(0, 16);
qDebug()<<aa;
Run Code Online (Sandbox Code Playgroud)

打印0.代码如下:

qint32 aa = 0xffffffff;
qDebug()<<aa;
Run Code Online (Sandbox Code Playgroud)

打印-1!

为什么是这样?

qstring qt twos-complement

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

将QString/std :: string转换为QImage

我试图得到一个字符串的图片(在Qt中),即QImage从a QString(std::string也很好)制作a ,最好是给定分辨率.虽然问题似乎微不足道,但我无法弄清楚这样做的正确方法.

构造函数的显而易见的想法QImage(const QString& string)显然不起作用,因为它读取了描述的文件string.那么这样做的正确方法是什么?

c++ qstring qt qimage

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

Qt QString.arg()无效

我试图使用Qt4.8文档中给出的示例:

#include <QCoreApplication>
#include <QString>
#include <iostream>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QString str;
    str = "%1 %2";

    str.arg("%1f", "Hello");        // returns "%1f Hello"
    std::cout << str.toStdString().c_str() << std::endl;

    str.arg("%1f").arg("Hello");    // returns "Hellof %2"
    std::cout << str.toStdString().c_str() << std::endl;

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

然而,这输出:

%1 %2

%1 %2

两次.我在Windows 7和Ubuntu上尝试过这个,使用QtCreator和命令行.我检查过了

QMake version 2.01a

Using Qt version 4.8.1 in /usr/lib/x86_64-linux-gnu

在Windows中:

QMake version 2.01a

Using Qt version 4.7.0 in C:\qt\4.7.0\lib

我甚至检查了我的源文件中的非ascii字符,例如"%"符号是正确的.请告诉我为什么这不起作用!

这是我正在使用的PRO文件:

QT       += core

QT       -= gui …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt qt4

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

使用QApplication :: applicationDirPath调用时,调用重载'arg(QString(&)())'是不明确的,为什么?

QString msgText = QString("The file has been saved at %1\sysconf.xml").arg(QApplication::applicationDirPath);
Run Code Online (Sandbox Code Playgroud)

给我上面的错误.我.arg()之前使用过,所以我想知道它为什么会给我这个错误?.arg()我的代码中的所有其他代码都正常工作.

c++ qstring qt

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

修改包含“ \”的QString

我正在尝试修改QString。我要修改的Qstring是

"\002"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试修改它时,该字符串要么被完全删除,要么没有显示任何变化。

我试过了

String.split("\"");
String.remove("\"");
String.remove(QChar('\'');
Run Code Online (Sandbox Code Playgroud)

由于某种原因,Qt要求我添加一个额外的“或”以进行编译而不产生错误

我现在有这个

string = pointer->data.info.get_type();
Run Code Online (Sandbox Code Playgroud)

根据调试器返回“ \ 002”

string = string.remove(QChar('\''));
Run Code Online (Sandbox Code Playgroud)

删除功能之后什么也不做。

我期望从字符串中删除\,但是要么将其完全删除,要么什么也没有发生。可能是什么问题,如何将Qstring修改为数值?

c++ qstring qt

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

标签 统计

qstring ×10

qt ×9

c++ ×7

qt4 ×3

file-io ×1

qfiledialog ×1

qimage ×1

static ×1

static-members ×1

twos-complement ×1