首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt QScrollArea自动滚动

Qt QScrollArea自动滚动
EN

Stack Overflow用户
提问于 2013-02-10 17:04:13
回答 2查看 3.4K关注 0票数 3

我和QLabel和QScrollArea有点问题。我正在尝试让QScrollArea自动滚动,但找不到有关它的任何信息。

首先,我在QScrollArea内部使用QLabel,然后在QScrollArea外部使用QLineEdit。当我在QLineEdit中键入文本时,它会写入QLabel和新行。当它到达区域的末尾时,QScrollArea不会自动滚动。我该怎么做呢?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-11 13:48:36

你不能使用QLineEdit本身而不是Qlabel(如果你只使用文本)吗?,这样你就不用用QScrollArea了。

编辑如果将verticalSlider位置设置为Label->height()

代码语言:javascript
运行
复制
void MainWindow::on_lineEdit_returnPressed() 
{ 
  ui->label->setText(ui->label->text() + ui->lineEdit->text() + "\n"); 

  ui->ScrollArea->verticalScrollBar()->setSliderPosition(label->height())

}
票数 2
EN

Stack Overflow用户

发布于 2013-02-10 17:37:16

看看这个例子:http://qt-project.org/forums/viewthread/23790/没有看到你的代码,这是很难更精确的……

编辑:试试这个:

代码语言:javascript
运行
复制
void MainWindow::on_lineEdit_returnPressed() 
{ 
  ui->label->setText(ui->label->text() + ui->lineEdit->text() + "\n"); 

  ui->lineEdit->moveCursor (QTextCursor::Start) ;
  ui->lineEdit->ensureCursorVisible() ;

  ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14796170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档