Tôi đang cố gắng đọc từ một tệp và được đưa vào chỉnh sửa văn bản và nó tiếp tục nói rằng QIODevice :: read: device not open. Tệp .txt ở cùng vị trí với tệp .qrc và .cpp của tôi. Tôi đã làm theo hướng dẫn từng bước từ trực tuyến. Từ sự hiểu biết của tôi, họ đã thay đổi một cái gì đó khi họ đi từ Q4 đến Q5. Có ai có bất kỳ gợi ý về cách tôi có thể sửa lỗi này. nhờQIODevice :: đọc: thiết bị không mở
//My findstuff.h
#ifndef FINDSTUFF_H
#define FINDSTUFF_H
#include <QWidget>
namespace Ui {class FindStuff;}
class FindStuff : public QWidget{
Q_OBJECT
public:
explicit FindStuff(QWidget *parent = 0);
~FindStuff();
private slots:
void on_goButton_clicked();
private:
Ui::FindStuff *ui;
void getTextFile();
};
Chúng tôi có thể xem một số mã không? Nếu tôi phải đoán, bạn không mở tệp đúng cách. Nếu bạn chỉ đọc từ một tập tin, tại sao bạn không sử dụng lớp 'QFile', hoặc chỉ sử dụng' fstream.h'? Ngoài ra nếu bạn đang sử dụng Qt, tệp .txt cần nằm trong thư mục xây dựng, không phải trong thư mục nguồn (giả sử bạn không thay đổi thư mục làm việc). Nếu bạn sử dụng các thiết lập mặc định, nó sẽ nằm trong một thư mục có tên 'build -% {CurrentProject: Name} -% {CurrentKit: FileSystemName} -% {CurrentBuild: Name}' – Lighthat
Nó sẽ không cho phép tôi đặt đúng cú pháp // My findstuff.h #ifndef FINDSTUFF_H #define FINDSTUFF_H #include không gian tên Ui {class FindStuff;} lớp FindStuff: public QWidget {Q_OBJECTpublic: clear FindStuff (QWidget * parent = 0); ~ FindStuff(); khe riêng: void on_goButton_clicked(); riêng tư: Ui :: FindStuff * ui; void getTextFile();}; –
user3878223
Mã bạn đã cung cấp cho chúng tôi không giúp ích gì, chúng tôi cần xem bạn đang sử dụng 'open()' – Lighthat