翻譯|使用教程|編輯:龔雪|2023-09-08 10:31:47.063|閱讀 102 次
概述:本文中是一個基于Qt Widgets的記事本應用程序的教程,歡迎大家下載組件一起體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt 是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用于超過70個行業、數千家企業,支持數百萬設備及應用。
在本文中,我們通過使用C++和Qt Widgets模塊實現一個簡單的記事本應用程序來學習基本的Qt知識,該應用程序是一個小型的文本編輯器,允許您創建文本文件、保存、打印或重新打開并在此編輯它,還可以設置要使用的字體。
在上文中(點擊這里回顧>>),我們主要介紹了如何開始添加用戶交互,例如打開文件、保存文件、以另一個名稱保存文件等,本文將繼續介紹用戶交互添加的其他部分,以及如何從命令行構建和運行。
Qt技術交流群:166830288 歡迎一起進群討論
如果想要使用打印功能,需要在項目文件中添加PrintSupport:
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets OPTIONAL_COMPONENTS PrintSupport ) 在notepad.cpp中,我們聲明了一個QPrinter對象printDev: void Notepad::print() { #if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer) QPrinter printDev; #if QT_CONFIG(printdialog) QPrintDialog dialog(&printDev, this); if (dialog.exec() == QDialog::Rejected) return; #endif // QT_CONFIG(printdialog) ui->textEdit->print(&printDev); #endif // QT_CONFIG(printer) }
我們啟動一個打印機對話框,并將選中的打印機存儲在對象printDev中。如果單擊Cancel并且沒有選擇打印機,則方法返回。實際的打印機命令由ui->textEdit->print給出,并以QPrinter對象作為參數。
void Notepad::selectFont() { bool fontSelected; QFont font = QFontDialog::getFont(&fontSelected, this); if (fontSelected) ui->textEdit->setFont(font); }
我們聲明了一個布爾值,指示是否使用QFontDialog選擇了一個字體。如果是這樣,使用ui->textEdit->setFont(myfont)設置字體。
如果您選擇了一些文本,并希望將其復制到剪貼板,則調用ui->textEdit的適當方法,剪切、粘貼、撤消和重做也是如此。
下圖顯示了要使用的方法名。
要從命令行構建示例應用程序,請為其創建一個構建目錄。切換到構建目錄并運行qt-cmake來配置您的項目進行構建,如果項目配置成功,生成的文件能構建項目。
md <build_directory> cd <build_directory> <qt_installation_directory>\bin\qt-cmake -GNinja <source_directory> <generator>
這些命令在構建目錄中創建一個可執行文件,CMake工具讀取項目文件并生成如何構建應用程序的說明,然后生成器使用這些指令生成可執行的二進制文件。
例如,要在Windows上構建記事本示例,當使用Ninja作為生成器時,輸入以下命令:
md notepad-build
cd notepad-build
C:\Qt\6.5.2\msvc2019_64\bin\qt-cmake -GNinja C:\Examples\notepad
ninja
如果不使用Ninja作為生成器,使用生成器獨立的CMake命令來構建應用程序,替代Ninja:
cmake --build
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網