2015-12-14 2 views
0

Я ищу почти везде, как добавить verticalScrollBar в QListWidget, однако я не смог найти подходящий ответ для моего вопроса.Как добавить бесплатную полосу прокрутки в 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

детали в QListWidget обычно не перенос слов, так что вы, вероятно, включен перенос слов с помощью setWordWrap(true). Кроме того, вы можете заставить панель прокрутки быть видимой, используя .

Окончательно используйте setVerticalScrollMode(QAbstractItemView::ScrollPerPixel), чтобы вы могли прокрутить одиночный большой элементов. По умолчанию ScrollPerItem, поэтому вы не видите ни одной полосы прокрутки: нет необходимости в одном, потому что элемент уже находится в окне просмотра.