【问题标题】:How to add free scrollbar to qlistwidget如何向 qlistwidget 添加免费滚动条
【发布时间】:2023-03-29 00:40:02
【问题描述】:

我几乎到处搜索如何将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()`;`

【问题讨论】:

    标签: c++ qt qstring qlistwidget


    【解决方案1】:

    QListWidget 中的项目通常不会自动换行,因此您可能使用 setWordWrap(true) 启用了自动换行。 此外,您可以使用setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn) 强制滚动条可见。

    最后使用setVerticalScrollMode(QAbstractItemView::ScrollPerPixel),这样您就可以滚动浏览单个大项。默认值为ScrollPerItem,这就是您看不到任何滚动条的原因:不需要滚动条,因为该项目已经在视口中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多