我几乎到处搜索如何将verticalScrollBar添加到QListWidget
,但是我无法找到适合我的问题的答案。
我正在尝试将QProcess
的输出显示为QListWidget
。但是没有垂直滚动条。在我的例子中我有200行,但我只能看到5行,因为没有滚动条。这是我试过的;
QString program = "ssh";
QStringList arguments;
arguments << "localhost" << "tail" << "-n" << "200" << "log.txt";
QProcess *myProcess = new QProcess(this);
myProcess->start(program, arguments);
myProcess->waitForFinished();
QString output(myProcess->readAllStandardOutput());
QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(output);
ui->listWidget->insertItem(0, newItem);
ui->listWidget->setMinimumWidth(ui->listWidget->sizeHintForColumn(0));
ui->listWidget->verticalScrollBar()->width()`;`
答案 0 :(得分:0)
QListWidget
中的项目通常不会自动换行,因此您可能使用setWordWrap(true)
启用自动换行。
此外,您可以使用setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn)
强制滚动条显示。
最后使用setVerticalScrollMode(QAbstractItemView::ScrollPerPixel)
,以便您可以滚动单个大型项目。默认值为ScrollPerItem
,这就是您没有看到任何滚动条的原因:没有必要,因为该项目已在视口中。