⑴ QT讀取文本文件
據我所知,QTextString這個類貌似是不存在的。倒是有個QTextStream類可以用來讀取文本數據。
例如下面的函數內可以讀取小文本文件中的內容容
void MainWindow::readFile(const QString& fpath)
{
if(fpath.isEmpty())
return;
QFile file(fpath);
if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
{
qDebug()<<"Open file failure!";
return;
}
QTextStream fs(&file);
QString fileContent (fs.readAll());
qDebug()<<"The content of file is \n"<<fileContent;
}
你需要確保你將正確的文件路徑傳遞給了該函數,否則會導致打開文件失敗。
⑵ 如何使用Qt creator在對話框里設計一個文件夾瀏覽器
如何使用Qt Creator建立簡單的對話框程序呢。Qt是強大的C++跨平台類庫,對C++中的很多功能都進行了封裝和改進,使用起來挺方便的。那怎樣用Qt創建簡單的對話框程序呢 ^_^
工具/原料
Qt Creator
方法/步驟
打開軟體後,點擊【New Project】
選擇項目下的【應用程序】,然後在右側選擇【Qt Widgets Application】,然後選擇右下角的【Choose...】
輸入項目的名稱,選擇好路徑,然後下一步
保持默認,繼續下一步
輸入好類名,選擇基類為QDialog。勾選創建界面
注意這里要細心點,因為點擊下一步後,不能返回上一步。想改項目的類名或基類,只能重新新建了
點擊完成,項目就建立成功了。按F5就可以看到空的對話框啦
雙擊界面文件下的.ui文件,就可以進行界面設計啦
⑶ 用Qt如何界面實現文件讀寫功能
Qstring fileName =QFileDialog::getOpenFileName(this, tr("open file"), "", tr("Allfile(*.*);;mp3file(*.mp3)"));
說明復:這樣就會產生一個對制話框,和系統的資源管理器差不多的。返回的是你選擇文件的絕對路徑。
參數1:父窗口
參數2:對話框的標題
參數3:默認的打開的位置,如」我的文檔「等
參數4:文件的過濾器,注意文件類型之間用 ;; 分開
⑷ qt編程中讀取資源里的txt文件,並在每條語句之後加入hello之後重新寫入當前文件。
1、可能復是文件路徑不對吧。
2、一般制不把txt放入資源文件中,我一般都是直接調用:
QFilef("RankingList.txt");
然後將RankingList.txt放到當前目錄下。
或者QFile f("res/RankingList.txt");
然後將RankingList.txt放到當前目錄的res目錄下。
3、你的文件既然可以讀到,那麼表示路徑沒問題。
可能是加入資源的方式不對吧。
4、或者rank實例有異常。
呵呵,不太懂,關注中!
⑸ qt如何得到對話框文件路徑
if(fileDialog->exec() == QDialog::Accepted) {
QString path = fileDialog->selectedFiles()[0];
}
⑹ qt文件讀取
1、Qt 作為一個通用開發庫,提供了跨平台的文件操作能力。文件操作是應用程序必不可少的部分。
2、Qt5增加了QFileDevice類。途中所涉及的類及其用途簡要說明如下:
· QFlie:訪問本地文件或者嵌入資源;
· QTemporaryFile:創建和訪問本地文件系統的臨時文件;
· QBuffer:讀寫QByteArray;
· QProcess:運行外部程序,處理進程間通訊;
· QTcpSocket:TCP協議網路數據傳輸;
· QUdpSocket:傳輸 UDP 報文;
· QSslSocket:使用 SSL/TLS 傳輸數據;
· QFileDevice:新增加的類,提供了有關文件操作的通用實現。
3、這其中,QProcess、QTcpSocket、QUdpSoctet和QSslSocket是順序訪問設備。所謂「順序訪問」,是指它們的數據只能訪問一遍:從頭走到尾,從第一個位元組開始訪問,直到最後一個位元組,中途不能返回去讀取上一個位元組;QFile、QTemporaryFile和QBuffer是隨機訪問設備,可以訪問任意位置任意次數,還可以使用QIODevice::seek()函數來重新定位文件訪問位置指針。
4、QFile主要提供了有關文件的各種操作,比如打開文件、關閉文件、刷新文件等。我們可以使用QDataStream或QTextStream類來讀寫文件,也可以使用QIODevice提供的read()、readLine()、readAll()以及write()這樣的函數。值得注意的是,有關文件本身的信息,比如文件名、文件所在目錄的名字等,則是通過QFileInfo獲取,而不是自己分析文件路徑字元串。
5、舉個例子,打開文件時,需要參數指定打開文件的模式:
Constant Value Description
QIODevice::NotOpen 0x0000 The device is not open.
QIODevice::ReadOnly 0x0001 The device is open for reading.
QIODevice::WriteOnly 0x0002 The device is open for writing.
QIODevice::ReadWrite ReadOnly | WriteOnly The device is open for reading and writing.
QIODevice::Append 0x0004 The device is opened in append mode, so that all data is written to the end of the file.
QIODevice::Truncate 0x0008 If possible, the device is truncated before it is opened. All earlier contents of the device are lost.
QIODevice::Text 0x0010 When reading, the end-of-line terminators are translated to '\n'. When writing, the end-of-line terminators are translated to the local encoding, for example '\r\n' for Win32.QIODevice::Unbuffered 0x0020 Any buffer in the device is bypassed.
⑺ Qt如何讀取數據文件
#include <QFile>
#include <QString>
#include <QIODevice>
#include <QDebug>
#include <QTextStream>
void Read(QString Filename)//名字自己定,需要帶路徑
{
QFile mFile(Filename);
if(!mFile.open(QFile::ReadOnly|QFile::Text))
{
qDebug()<<"could not open file for read!";
return;
}
QTextStream in(&mFile);
QString mtext = in.readAll();
// mtext = mtext.trimmed();
qDebug()<<mtext;
if(mtext == "")
qDebug()<<" read over!";
mFile.flush();
mFile.close();
}
⑻ Qt編程怎麼實現這種文件選擇對話框
使用這個函數QFileDialog::getExistingDirectory
絕對抱你滿意
效果圖如下,是您要的吧,給分
⑼ Qt選取文件路徑,上一次的文件路徑
你將上次選擇的路徑保存在一個變數中
下次再彈出文件對話框中,將其路徑預先設置成保存的這個路徑。
看看相應的類,有提供方法的。
⑽ QT treewidget控制項怎麼能實現從指定的文件夾裡面的每個子文件夾中讀取指定格式的文件(如.txt)並顯示
①執行「視圖→工具欄→控制項工具箱」命令,展開「其他控制項」按鈕,「控制項工具箱」工具欄
②單擊工具欄上,在彈出的下拉列表中,選擇「ShockwaveFlashObject」選項,當滑鼠變成細十字線,按住左鍵在工作區中拖出一個矩形(這就是後來的播放窗口)。當
③滑鼠移到矩形框入右下角拖動方向的箭頭,按住左鍵並拖動來調整矩形的大小的權利。在矩形框
④單擊滑鼠右鍵,在隨後彈出的快捷菜單中選擇「屬性」選項,打開「屬性」對話框中,輸入需要在「電影」插入Flash動畫文件名後面的框和完整路徑,然後選擇關閉「屬性」窗口。
【注】:為了方便移動演示,與保存在同一文件夾中的Flash動畫文件的最佳表現,那麼路徑也可以使用相對路徑。
[提示]:Flash動畫文件名和完整路徑需要插入最好的英文字元!