Попытка переноса слов и элемента в QListWidgetC++

Программы на C++. Форум разработчиков
Anonymous
 Попытка переноса слов и элемента в QListWidget

Сообщение Anonymous »

Я пытался обернуть текст в поле элемента в QListWidget. Моя программа — приложение To Do. Он берет текст из файла .txt и использует его для заполнения виджета списка:

Код: Выделить всё

MainWindow::MainWindow(QWidget *parent):
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

QFile file(path);

if(!file.open(QIODevice::ReadOnly)) {
QMessageBox::information(0, "error", file.errorString());
}

ui->listWidget_1->setWordWrap(true);
ui->listWidget_1->setStyleSheet("QListView QLineEdit{background:#FFF2D7;
color:black;}");

QTextStream in(&file);

while(!in.atEnd()) {
QListWidgetItem *item = new QListWidgetItem(in.readLine(), ui->listWidget_1);
if(item->checkState())
{
item->setCheckState(Qt::Checked);
}
else
{
item->setCheckState(Qt::Unchecked);
}

item->setForeground(QBrush(Qt::black));

item->setFlags(item->flags() | Qt::ItemIsEditable | Qt::ItemIsUserCheckable);
ui->listWidget_1->addItem(item);

}

file.close();
}
Единственная проблема заключается в том, что когда текст слишком длинный, он создает горизонтальную полосу прокрутки и не переносит текст, но я хочу, чтобы он был перенесен. Я знаю, что мой if(item->checkState()) в настоящее время ничего не делает, но он просто существует, потому что я хочу когда-нибудь что-нибудь с ним сделать. Кто-нибудь знает, как сделать так, чтобы предметы действительно переносились? Я много читал о делегатах и ​​Paint(), но не могу понять, как применить это к моей функции.

Подробнее здесь: https://stackoverflow.com/questions/790 ... listwidget

Вернуться в «C++»