Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: itan от Февраль 27, 2007, 17:57



Название: QTableWidget как таблица в Worde
Отправлено: itan от Февраль 27, 2007, 17:57
[QT 4.2.2]
Небольшой пример:
Код:
#include <QtGui/QApplication>
#include <QTextCodec>
#include <QMainWindow>
#include <QTableWidget>
#include <QHeaderView>

class CTableWidget: public QTableWidget
{
public:
CTableWidget(QWidget* parent = 0) : QTableWidget(parent)
{

}
};


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

QMainWindow main;
CTableWidget* table = new CTableWidget;
table->setColumnCount(2);
    table->setRowCount(10);

for (int row = 0; row < table->rowCount(); ++row)
for (int col = 0; col < table->columnCount(); ++col)
{
QTableWidgetItem *newItem = new QTableWidgetItem("text text text text text text text text text text text text text text");
table->setItem(row, col, newItem);
}

main.setCentralWidget(table);
main.show();

    a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
    return a.exec();
}

Текущее положение дел:
Сейчас, если изменять размер колонки таблицы, то текст в ячейках будет построчно переноситься до тех пор, пока не достигнет максимума высоты ячейки, после этого он превращается в одну незаконченнную строку с многоточием в конце.

Что требуется:
Собственно требуется изменить поведение QTableWidget таким образом, чтобы текст в ячейках всегда отображался полностью т.е. при изменении размера колонки высота соответствующей строки подбиралась бы автоматически (т.е. увеличивалась при сжатии и уменьшалась бы при растягивании)

Похожее поведение можно наблюдать в ворде при изменении размеров таблицы (Таблица/Вставить/Таблица).

Как такое можно реализовать? Буду рад любой помощи!


Название: Re: QTableWidget как таблица в Worde
Отправлено: enotik от Апрель 01, 2009, 10:06
Менятоже заинтересовал этот вопрос, кто-нибудь знает на него ответ? :)


Название: Re: QTableWidget как таблица в Worde
Отправлено: Racheengel от Апрель 01, 2009, 17:28
QHeaderView::setResizeMode(QHeaderView::ResizeToContents) ?