2011-06-23 58 views
0

我創建一個指向對象後,在我的項目一個QNetworkAccessManager對象的標準方式:Qt Creator在我鍵入''時放置' - >'。'

QNetWorkAccessManager *manager = new QNetworkAccessManager (this) 

,我試圖調用get()方法,但每當我在manager對象後鍵入.,Qt Creator的是插入->代替,所以我最終

manager-> 

時,我想

manager. 

即使當我連接managerget()然後將光標移動到正確的位置時,Qt Creator仍然認爲我試圖訪問管理器的子對象而不是調用方法。我已經完成了'選項'對話,但我可以找到任何禁用此「功能」的方法。有誰知道該怎麼做?

+2

我看不到問題。''是您需要的。 – Abhijith

+2

你需要「。」,因爲......? –

+8

QtCreator只是試圖拯救你自己。訪問指針中的任何內容都需要「 - >」而不是「」。 – Fred

回答

7

.->與「子對象」或「方法」之間的區別沒有任何關係。功能成員和現場成員都以完全相同的方式訪問。 .用於訪問普通對象的成員,->是通過指針訪問成員的簡寫。在通常情況下,a->b(*a).b相同。

3

您使用C#編程,但Qt要求您使用C++進行編程。如果manager被聲明爲指針,那麼manager.在C++中是沒有意義的。 Qt只是試圖拯救你從你自己。

0

這是一個方便的更正。 manager是一個指針,所以->運算符是訪問其成員的正確方法。很高興Qt Creator擁有這種內置的智能。

0

像其他人一樣,我不明白爲什麼你認爲你需要一個「」而不是' - >'。但是,如果QtCreator的自動完成,這部分可以被禁用,它應該在工具>選項>文本編輯器>完成。然後將激活完成設置爲手冊

在早期的版本中,根本不能禁用自動完成功能,但在較新的版本中,至少可以進行一些調整。它適用於2.1.0,但如果您有早期版本,它可能不會。