小编Arn*_*nce的帖子

阅读大文件

我想读取一个50MB的文件并通过tcp发送.该文件仅包含浮点数.首先我创建了一个Mainwindow,女巫读取一行并将其发送到服务器,但gui被冻结了.所以我创建了一个依赖于QThread的类,叫做QSendThread.这是QThread类的代码:

#ifndef QSENDTHREAD_H
#define QSENDTHREAD_H

#include <QThread>
#include <QLabel>
#include <QFile>
#include <QMessageBox>
#include <QtNetwork/QTcpSocket>
#include <QtNetwork/QHostAddress>

class QSendThread : public QThread
{
 Q_OBJECT

public:
 QSendThread(QTcpSocket* qtcpso, QLabel* qlbl, QFile* qfiel, QObject *parent = NULL);
 ~QSendThread();

protected:
 void run(void);

private:
 QTcpSocket* qtcpsoDest;
 QLabel* qlblRef;
 QFile* qfileRef;

signals:
 void error(QString qstrError);
};

#endif // QSENDTHREAD_H

#include "qsendthread.h"

QSendThread::QSendThread(QTcpSocket* qtcpso, QLabel* qlbl, QFile* qfile, QObject *parent)
 : QThread(parent)
{
 qtcpsoDest = qtcpso;
 qlblRef = qlbl;
 qfileRef = qfile;
}

QSendThread::~QSendThread()
{
} …
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4

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

通过迭代器调用函数?

在班级学院,我有一套科目.我想通过这个集合,并在每个主题上调用一个函数,将学生添加到这个主题.这是我的功能看起来如何.

void Faculty::addStudent(Student* n) {
    this->Students.insert(n);
    set<Subject*>::iterator it;

    for(it = this->Subjects.begin(); it != this->Subjects.end(); it++) {
        (*it)->addStudent(n);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我收到一个错误:

Unhandled exception at 0x01341c6d in University.exe: 0xC0000005: Access violation reading location 0x1000694d.
Run Code Online (Sandbox Code Playgroud)

我正在使用Micorosft Visual 2010.

我是C++的新手.

我可以提供任何其他必要的信息,只是不知道哪些.请告诉我是否需要.

class Student: public Human {
    friend class University;
    friend class Faculty;
    friend class Subject;
public:
    Student(string name, string surname);
    ~Student();
    void Index(int n);
private:
    int index;
};
Run Code Online (Sandbox Code Playgroud)

c++ iterator function

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

为什么要在C++中将类分解为多个源文件?

在c ++中拥有多个源文件究竟是什么意思?对不起,如果这非常简单.

c++ header file

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

如何从QNetworkReply读取标头

如何从QNetworkReply中读取标题,例如cookie?

c++ qt http

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

将缩放的 QImage 绘制到 QWidget 上时的伪像

我的主窗口具有以下绘图功能:

void MainWindow::paintEvent(QPaintEvent*)
{
    QImage sign(50, 50, QImage::Format_ARGB32_Premultiplied);
    QPainter p(&sign);
    p.setRenderHint(QPainter::Antialiasing, true);
    p.fillRect(sign.rect(), QColor(255, 255, 255, 0));
    p.setBrush(Qt::blue);
    p.setPen(Qt::NoPen);
    p.drawEllipse(0, 0, sign.width(), sign.height());
    p.end();

    QPainter painter(this);
    painter.drawImage(rect(), sign, sign.rect());
} 
Run Code Online (Sandbox Code Playgroud)

所以基本上,它会在 QImage 上绘制一个蓝色填充圆圈,然后将该 QImage 绘制到小部件上。然而,当我调整窗口大小时,我得到了奇怪的人工制品(在左上角)。它看起来是这样的:

原来的: 替代文本

更改窗口大小后: 替代文本

有谁知道这是为什么?

(我正在 Ubuntu 10.04 下工作,如果你感兴趣的话)

qt qt4

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

在C++中比较2个整数

当我尝试比较Qt中的两个整数时出错.

if ((modus==2) & (move != -1))

error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator!='
Run Code Online (Sandbox Code Playgroud)

我需要其他运营商吗?我用谷歌搜索,但似乎Qt使用相同的.谢谢你的激光

c++ equality operators

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

标签 统计

c++ ×5

qt ×3

qt4 ×2

equality ×1

file ×1

function ×1

header ×1

http ×1

iterator ×1

operators ×1