2009-11-29 66 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-支持已建立与你的源代码转换器工具。

相关问题