<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Qt4 工具類 > 原文: [http://zetcode.com/gui/qt4/utilityclasses/](http://zetcode.com/gui/qt4/utilityclasses/) 在 Qt4 C++ 編程教程的這一部分中,我們將討論 Qt4 庫中可用的工具類。 Qt4 庫由一大堆幫助程序類組成,它們可以幫助程序員完成工作。 這些包括用于處理字符串,文件,XML 文件,流,數據庫或網絡的類。 在這里,我們只顯示了整個湖面的一小滴。 Qt4 庫可用于創建控制臺和 GUI 應用。 在本章中,我們將說明基于控制臺的應用中的一些幫助程序類。 ## 將文本打印到控制臺 這是一個簡單的控制臺應用。 該應用將一些文本放入控制臺窗口。 `console.cpp` ```cpp #include <iostream> int main() { std::cout << "console application\n"; } ``` 在第一個示例中,我們使用 STL(標準模板庫)庫打印文本。 `console2.cpp` ```cpp #include <QTextStream> int main() { QTextStream out(stdout); out << "console application\n"; } ``` 第二個示例顯示了如何使用 Qt4 編程庫打印文本。 `Output` ```cpp $ ./console console application ``` ## `QFile` `QFile`是用于讀取和寫入文件的類。 在第一個示例中,我們將一行寫入文件中。 `write_line.cpp` ```cpp #include <QTextStream> #include <QFile> int main() { QFile data("myfile"); if (data.open(QFile::WriteOnly)) { QTextStream out(&data); out << "You make me want to be a better man." << endl; } } ``` 在只寫模式下創建名為`myfile`的文件。 `QTextStream`類用于在文件中插入一行。 `Output` ```cpp $ cat myfile You make me want to be a better man. ``` 下一個示例將文件的內容打印到控制臺。 文本將使用匈牙利語,因此我們必須設置正確的編解碼器。 `szerelem` ```cpp S a régi szeret?mér- mit nem cselekednék, tengerb?l a vizet kanállal lemerném. S a tenger fenekér?l apró gy?ngy?t szednék, s a régi szeret?mnek gy?ngykoszorút k?tnék. ``` 這些是`szerelem`文件的內容。 `szerelem.cpp` ```cpp #include <QTextStream> #include <QFile> int main() { QFile data("szerelem"); QString line; if (data.open(QFile::ReadOnly)) { QTextStream in(&data); QTextStream out(stdout); out.setCodec("UTF-8"); in.setCodec("UTF-8"); do { line = in.readLine(); out << line << endl; } while (!line.isNull()); } } ``` 該示例以只讀模式打開文件,并逐行打印其內容。 ```cpp out.setCodec("UTF-8"); in.setCodec("UTF-8"); ``` 由于匈牙利語言包含基本 Latin1 字符集以外的字符,因此我們將編解碼器設置為 UTF-8,它能夠顯示所有可能的字符。 ```cpp do { line = in.readLine(); out << line << endl; } while (!line.isNull()); ``` 在此循環中,我們逐行讀取和打印文件的內容。 `readLine()`方法從流中讀取下一行。 如果流已讀取到文件末尾,則`readLine()`將返回空`QString`。 `Output` ```cpp $ ./szerelem S a régi szeret?mér- mit nem cselekednék, tengerb?l a vizet kanállal lemerném. S a tenger fenekér?l apró gy?ngy?t szednék, s a régi szeret?mnek gy?ngykoszorút k?tnék. ``` ## `QList` `QList`是通用 Qt4 的容器之一。 它用于存儲值列表,并提供基于索引的快速訪問以及快速插入和刪除。 `mlist.cpp` ```cpp #include <QTextStream> #include <QList> int main() { QTextStream out(stdout); QList<QString> list; list << "Balzac" << "Tolstoy" << "Guldbrassen" << "London" << "Galsworthy" << "Sienkiewicz"; qSort(list); for (int i = 0; i < list.size(); ++i) { out << list.at(i) << endl; } } ``` 在代碼示例中,我們創建了一個偉大的小說家列表。 我們按字母順序對列表進行排序,然后將其打印到控制臺。 `Output` ```cpp $ ./mlist Balzac Galsworthy Guldbrassen London Sienkiewicz Tolstoy ``` ## `QDir` `QDir`類提供對目錄結構及其內容的訪問。 `home_dir.cpp` ```cpp #include <QTextStream> #include <QDir> int main() { QTextStream out(stdout); QString home = QDir::homePath(); out << home << endl; } ``` 本示例確定主目錄并將其打印到控制臺。 `Output` ```cpp $ ./home_dir /home/janbodnar ``` 在下面的示例中,我們使用`QDir`類 `filters.cpp` ```cpp #include <QTextStream> #include <QDir> int main() { QTextStream out(stdout); QDir dir; QStringList filters; filters << "*.c" << "*.c~"; dir.setNameFilters(filters); QFileInfoList list = dir.entryInfoList(); for (int i=0; i<list.size(); ++i) { QFileInfo fileInfo = list.at(i); out << QString("%1").arg(fileInfo.fileName()); out << endl; } } ``` 該代碼示例確定當前目錄中的所有文件,并對文件應用特定的過濾器。 `Output` ```cpp $ ls -F anim* anim.c anim.c~ filters* sun.png $ ./filters anim.c anim.c~ ``` ## `QTime` `QTime`類提供時鐘時間功能。 在以下示例中,我們將當前本地時間打印到控制臺。 `local_time.cpp` ```cpp #include <QTextStream> #include <QTime> int main() { QTextStream out(stdout); QTime qtime = QTime::currentTime(); QString stime = qtime.toString(Qt::LocalDate); out << stime << endl; } ``` 請注意,不得將文件命名為`time.cpp`。 `Output` ```cpp $ ./local_time 10:30:33 PM ``` ## `QString` `QString`類用于處理字符串。 這可能是 Qt4 編程庫中可用的最重要的工具類。 `concat.cpp` ```cpp #include <QTextStream> int main() { QString a = "Disziplin "; QString b = "ist "; QString c = "Macht.\n"; QTextStream out(stdout); out << a + b + c; } ``` 第一個示例連接三個字符串。 `Output` ```cpp $ ./concat Disziplin ist Macht. ``` 第二個示例通過一個接一個的附加文本來構建字符串。 `append.cpp` ```cpp #include <QTextStream> int main() { QString string = "Whether I shall "; string.append("turn out to be the hero of my own life, \n"); string.append("or whether that station will be held by anybody else, \n"); string.append("these pages must show.\n"); QTextStream out(stdout); out << string; } ``` `QString`的`append()`方法將給定字符串附加到該字符串的末尾。 `Output` ```cpp $ ./append Whether I shall turn out to be the hero of my own life, or whether that station will be held by anybody else, these pages must show. ``` 下一個示例顯示了參數替換。 `arg.cpp` ```cpp #include <QTextStream> int main() { QString string = "What if I gave you %1 red roses?"; int num = 21; QTextStream out(stdout); out << string.arg(num) << endl; } ``` `arg()`方法返回字符串的副本,在該字符串中,它用提供的整數值替換`%1`標記。 `Output` ```cpp $ ./arg What if I gave you 21 red roses? ``` 以下示例顯示了如何確定字符串的大小。 `size.cpp` ```cpp #include <QTextStream> int main() { QString string = "The history of my life."; QTextStream out(stdout); out << "The string has " + QString::number(string.size()) + " characters." << endl; } ``` `size()`方法返回此字符串中的字符數。 為了將數字與前面的字符串連接起來,我們使用`number()`方法,該方法返回與給定數字等效的字符串。 `Output` ```cpp $ ./size The string has 23 characters. ``` 最后一個示例是關于使字符串大寫或小寫。 `uplow.cpp` ```cpp #include <QTextStream> int main() { QString string = "The history of my life."; QTextStream out(stdout); out << string.toLower() << endl; out << string.toUpper() << endl; } ``` `toLower()`方法返回字符串的小寫副本,`toUpper()`方法返回字符串的大寫副本。 `Output` ```cpp $ ./uplow the history of my life. THE HISTORY OF MY LIFE. ``` 在本章中,我們描述了 Qt4 中的一些工具類。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看