2009-11-29 81 views
2

我有文本編輯框作爲聊天窗口,但我想知道是否有方法將滾動條設置在底部以顯示最新消息。Qt,如何設置文本編輯滾動條到底部? C++

我目前使用Qt3和C++。

chat_box - > ....我試過看,只能找到「ScrollBarMode」,但它只能讓我打開或關閉或自動......這並沒有真正的幫助。

感謝您的幫助:d

+0

爲什麼qt3?爲什麼不使用最新的4.x版本? (我想你可以在傳統軟件上工作)。 – xenoterracide 2009-11-30 00:51:57

回答

2

scotchi's answer如果是Qt4會是正確的。 Qt3的解決方案會是這樣的:

QScrollBar *v = chat_box->verticalScrollBar(); 
v->setValue(v->maxValue()); 

我沒有測試這個代碼,因爲我沒有Qt3了。檢查它是否有效。

+0

它可以工作一次,但它會得到致命IO錯誤:客戶端中斷 不知道爲什麼會發生這種情況,但每當有人發送消息時,我都會刷新我的聊天框。 – 2009-11-29 23:42:16

5
textEdit->verticalScrollBar()->setSliderPosition(
    textEdit->verticalScrollBar()->maximum()); 

把那您插入文本行之後。

+1

非常感謝:D – 2009-11-29 22:55:06

+0

啊,該死的:( .ui /../ form2.ui.h:37:error:'class QScrollBar'has no member named'setSliderPosition' .ui /../ form2 .ui.h:37:error:'class QScrollBar'沒有成員,名字爲'maximum' – 2009-11-29 23:02:41

+0

這是Qt 4;可能有Qt 3等價物 – scotchi 2009-11-30 03:50:34

0

...如果可能的話(我不知道你的環境)請切換到Qt4 - 在Qt3中有很多缺點,缺少支持,缺少功能等。

的Ciao, 克里斯

PS:這是很容易切換到Qt4的 - 你不必重寫所有的代碼,因爲Qt4的在QT3-支持已建立與你的源代碼轉換器工具。