Qt筆記:QDate、QTextCodec、QFileDialog以及Q_OBJECT

閒話很少說,直接記錄。git


首先說一點關於信號槽的誤解,上次那個明明發射信號卻沒法進入槽函數的緣由已經查明,由於自定義的類體裏面沒有Q_OBJECT因此沒法歸入Qt你們庭中。我發現這個宏還有解決換行符跨平臺等問題,加了這個宏的文件在使用git的時候不會提示CRLF的問題,沒加的就會出現CRLF的問題。函數


QDate

QDate是Qt提供的日期控件能夠獲取當前日期,若是是QDateTime的話能夠精確到秒。獲取了日期以後能夠設置日期顯示格式。由toString(QString format)函數實現設置格式。 編碼

這個toString函數相似printf函數,都是把format參數裏面的特定字符替換爲時間,好比y表明year,M表明month,因爲日期時間格式裏面有兩個「m」,因此大寫M表示month,小寫m表示minute,d表明day,h表明hour,s表明second。舉個例子:code

QDateTime::currentDateTime().toString("yyyy-MM-dd-h-m");

那麼返回就是2015-08-22-16-33orm


QTextCodec

爲了解決中文亂碼的問題,能夠經過設置本地編碼來解決,固然也能夠經過QString::formLocal8bit()解決(若是變量很少的話)。代碼以下:get

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);

不過須要注意的一點就是改變本地編碼以後換行符可能跟隨變化。仍是用'\n'吧,暫時沒考慮跨平臺的問題。it


QFileDialog

QFileDialog是一個能夠獲取文件路徑的類,使用它會自動彈出一個文件選擇對話框。這個類同時也能夠獲取文件夾路徑。form

  • 獲取文件夾路徑class

QString QFileDialog::getOpenFileName();
  • 固然獲取同目錄下多個文件的話就是變量

QStringList QFileDialog::getOpenFileNames();
  • 獲取已存在文件夾路徑

QString QFileDialog::getExistingDirectory();
相關文章
相關標籤/搜索