QT高级编程之基本函数用法
1.QString類函數介紹
- toInt()函數,可以將整型按照不同進制轉換為QString對象;
- number()函數,可以將QString對象轉換為不同進制的數字;
2.文檔查詢方法:通過Qt Creator編輯器通過幫助->索引->QString查看QString類的相關文檔,里面包含了QString類的成員函數,靜態方法,宏以及繼承而來的方法等相關信息。
3.工程中的Q_OBJECT宏:
- Qt提供了元對象系統的機制,其中包含了信號與槽的內部機制,能夠訪問QObject子類的元對象信息的功能;
- QOBJECT宏聲明了在每個QObject子類中必須的內省函數,如metaObject()、tr()、qt_metacall();
- Qt的MOC工具生成了Q_OBJECT聲明的所有函數和所有信息的實現;
- connect(),disconnect()可以建立信號與槽的連接與釋放;
對于自己寫的類,想要具備信號與槽機制,在類中添加Q_OBJECT宏即可;
4.QComboBox,QListWidget、QTableWidget、QTreeWidget控件中都有item,可以通過右鍵->編輯項來添加可選項;
- QComboBox:currentIndex()函數可以判斷下拉框選中的項的索引
5.QMessageBox:提供一個模態對話框顯示消息;
- 模態對話框:只能操作當前的模態對話框,其他對話框不能操作;
- 非模態對話框:多個對話框之家可以切換操作;
6.UIC的使用
UIC可以編譯.ui文件,把它編譯為源文件.進入QT的命令行模式,通過過下面命令可以編譯.ui文件.
7.通過創建從QMainWindow繼承的項目,在菜單欄輸入文件(&F),即在程序中創建了一個文件菜單選項,并且指定了快捷鍵為Ctrl + F.
8.屬于QtGui模塊的類,可以自動釋放資源,而對于QtCore核心模塊的資源需要手動釋放資源.
9.相關函數介紹:
- QTextStream : readAll():讀取所有文本信息;
- QFileDialog:getOpenFileName():獲取打開文件對話框選擇的文件名;
- QMessageBox:information():顯示信息;
- QFile file:
- errorString():顯示錯誤信息;
- open(QIODevice::ReadOnly):打開文件并指定打開模式;
10.QTextEdit類用法
- 槽函數:具有清除,拷貝,剪切等槽函數,QTextEdit支持這些操作.
11.QFontDialog,獲取字體對話框;
bool success; QFont font = QFontDialog::getFont(&success,this);12.QColorDialog類用法
QColor color = QColorDialog::getColor(Qt::red,this); //如果顏色可用 if(color.isValid()) { } else {}13.QDateTime顯示當前時間
QDateTime current = QDateTime::currentDataTime(); //設置時間顯示格式,yyyy表示年份,M月份,dd日期,hh小時,mm分鐘,mm秒,2021-7-25 20:21:00 QString time = current.toString("yyyy-M-dd hh:mm:ss");14.QMenu::triggered信號:
菜單項被點擊將觸發該信號,將該信號連接到相應的槽即可實現相應的操作.
15.資源文件的添加和使用
- 將資源拷貝到工程目錄下,通過添加資源來添加,創建資源文件.qrc后,通過Add->Add Prefix,Add->Add->File來添加項目目錄下的資源.然后Save all保存.
- 切換到ui界面,通過Action Editor來為每個菜單項添加圖標,Edit->Icon->選擇資源,進入到資源選擇界面,將添加的資源刷新,即可在界面顯示添加的資源,然后選擇需要添加的icon即可.
- 可以直接將Action Editor中的選項拖拽到工具欄即可實現工具欄圖標的添加.并且與與功能關聯在一起.
- 通過右鍵->改變樣式表->Add Resource->border-image,可以為ui界面添加背景圖片,背景隨著窗口大小自動調整.
16.設置編輯框為密碼框
ui->lineEdit->setEchoModel(QLineEdit::Password);17.Ollydbg可以對一個程序進行分析,通過將程序拖拽進Ollydbg,可以對其進行分析.
18.QDesktopServices類
可以對桌面程序進行服務,如打開一個網頁,可以通過如下方法來實現.
19.QMovie類用法
同Label對象顯示gif動畫,主要通過QMovie類來實現.
20.程序啟動畫面
使用QSplashScreen類來實現.
21.關閉事件
主要使用QCloseEvent類實現,所有的事件都是受保護的成員函數.根據需要處理關閉事件.
QClostEvent* event;
- enent->accept();
- event->ignore();
22.打包編碼亂碼問題
- 可以通過將所使用的Qt版本下plugins下的codecs文件夾拷貝到項目目錄下一起進行打包.
- 設置中文
23.臨時文件和臨時目錄
主要通過QTemporaryFile來操作臨時文件,臨時目錄是用來存放臨時文件的,不同平臺具有不同的臨時目錄,可以通過 QDir::tempPath() 來獲取臨時目錄.
24.文件屬性類QFileInfo
QDateTime time = QFileInfo::created(); //創建時間 QDateTime time = QFileInfo::lastRead(); //最后訪問時間 qint64 size = QFileInfo::size(); //文件大小 QDateTime time = QFileInfo::isDir(); //是否是文件夾25.QListWidget用法
- 項的概念,添加項Item,通過QListWidgetItem來構造項,并添加.也可以添加圖標資源.
- 通過setViewMode() 函數可以設置控件的顯示模式,是列表模式還是圖標模式.
- 項的點擊信號:QListWidget中的項相應點擊信號,查閱QlistWiget可以發現,具有itemDoubleClicked(QListWidgetItem* item)和itemClicked(QListWidgetItem* item)信號,因此可以編寫兩個槽函數來響應信號.
26.QStringList字符串列表
繼承QList< QString>而來.
28.截圖操作相關知識介紹
獲取圖片時,需要把截圖程序窗口最小化或隱藏,在執行截圖操作.
- 通過QPixmap::grapWindow(winID)來獲取winID標識的窗口圖片;
- QDesktopWidget:可以獲取當前程序所在的窗口ID;
- WId id = winId();
在IDE中,將鼠標放到一個函數上,可以顯示該函數的參數,在顯示參數的時候按下F1,可以跳轉到該函數的說明文檔界面.
//隱藏 this->hide();//獲取當前程序所在屏幕的id; QPixmap::grapWindow(QApplication::desktop()->winId());//按比例縮放圖片到指定大小,scaled函數 ui->screenLabel->setPixmap(this->pixmap.scaled(ui->screenLabel->size()));//QTimer 定時器類用法,具有timout信號,可以處理超時信號 QTimer timer->start(5000);//計時5秒,timer->stop();//停止計時 //發出聲音; qApp->beep();- 保存截圖:通過QDesktopServices類中的storageLocation()函數來保存信息,可以設置保存到“我的文檔”,“圖片”等系統默認的文件夾中。
29.系統剪切板QClipboard
- 數據保存到剪切板,可以用于進程間通信。
總結
以上是生活随笔為你收集整理的QT高级编程之基本函数用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客16464 神奇的幻方
- 下一篇: QT跨平台项目开发经验(项目打包)