Qt Programming碎碎念(一)

來源:互聯網
上載者:User

1. 如何知道Qt的安裝路徑?

QLibraryInfo::location, 根據參數可以查詢Qt不同模組的路徑,如translations的路徑、doc的路徑等。

2. QDir::fromNativeSeparators/QDir::toNativeSeparators

這兩個靜態方法在UNIX/Linux下是沒有效果的。請手動處理路徑中的path separator,使用QString提供的方法。

3. QString不能在std::cout/std::cin中使用

因為QString重載<<符號定義是醬紫:QDataStream & operator<< ( QDataStream & stream, const QString & string )

所以,要使用QString的toStdString來轉換一下,比如std::cout << test_qstring.toStdString() << std::endl;

C++ << operator重載,是看<<左邊的類型,比如這裡的cout,就是ostream類型,這個類會提供一系列operator<<的重載函數,比如可以接受const char *,可以接受int, long, short...;但是如果ostream中的operator<<重載函數中找不到一個匹配的,那就要看<<右邊的類型是否能支援ostream <<操作符。做法就是在這個類型中重載operator<<,函數第一個參數是ostream,並且傳回值也是ostream。

所以,在這個例子中,首先由於ostream不能handle QString,此外,QString雖然重載了operator<<,但是是為了支援QDataStream的。所以QString不能在ostream中使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.