Qt 4.4. Корявый setSpan (... или я)

Модератор: Модераторы разделов

Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Qt 4.4. Корявый setSpan

Сообщение Clear_Mind »

Собственно код:

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

#include <QApplication>
#include <QTableWidget>

int main(int argc, char **argv) {
    QApplication app(argc, argv);
    QTableWidget *tw = new QTableWidget(5, 5);
    tw->setSpan(1, 1, 2, 2);
    tw->setSpan(3, 3, 2, 2);

    tw->show();
    return app.exec();
}


Результат приложен. Как видно со скрина, второе объединение ячеек выглядит не совсем ак как бы этого хотелось.
Кто-нибудь сталкивался?
Может у меня версия Qt c глюком?
Или я туплю?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Qt 4.4. Корявый setSpan

Сообщение Assuri »

У меня Qt 4.3 и всё работает. Скрин прилагается.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Re: Qt 4.4. Корявый setSpan

Сообщение Clear_Mind »

А вбить текст в обе ячейки не пытались?
PS: попробую обновить Qt
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Qt 4.4. Корявый setSpan

Сообщение Assuri »

Clear_Mind писал(а):
21.06.2008 14:28
А вбить текст в обе ячейки не пытались?

Попробовал, всё хорошо вбивается.
Спасибо сказали:
Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Re: Qt 4.4. Корявый setSpan

Сообщение Clear_Mind »

На сайте TrollTech нашел следующий Bug Track:
Description
Applying the following code snipped, the spanned cell in row 2 won't take the
focus right and paints only the first part of the cell.

QTableWidget *tab=new QTableWidget;
tab->setSelectionMode(QTableView::NoSelection);
tab->show();
tab->setColumnCount(5);
tab->setRowCount(5);
tab->setSpan(1,0,1,5);
tab->setSpan(2,0,1,5);

History
2008-07-01 17:25 - Entry created: Task status changed to 'Open', Resolution set to 'Pending', Version found set to '4.4.0', Version for fix set to 'Not scheduled', Priority changed to 'No Priority'
2008-07-02 16:30 - Version for fix set to '4.5.0 (Next Minor Release)'
2008-07-02 16:30 - Priority changed to '3'

Походу придется ждать выхода версии 4.5.0
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Qt 4.4. Корявый setSpan

Сообщение Assuri »

Надо же, а почему тогда у меня всё в порядке?
Спасибо сказали:
Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Re: Qt 4.4. Корявый setSpan

Сообщение Clear_Mind »

У меня Qt 4.3 и всё работает

Возможно в 4.3 такой проблемы не было.

PS: был бы признателен, если б другие пользователи попробовали скомпилить вышеприведенный код у себя, на различных версиях Qt. Я, собственно, ставил и обновлял библиотеку из репозиториев openSUSE 11
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: Qt 4.4. Корявый setSpan

Сообщение eduard_pustobaev »

Clear_Mind писал(а):
04.07.2008 21:31
был бы признателен, если б другие пользователи попробовали скомпилить вышеприведенный код у себя, на различных версиях Qt.


В общем отображается красиво, как у Дума, пока пусто. Первый span видится как одна ячейка, текст нормально вводится отображается. Второй при нажатии распадается на 4 ячейки. При вводе в первую текст отображается как и первом спане. В остальные вполне себе вводится и редактируется, но его не видно.

P.S. Скринов не будет, ибо стыдно за: Qt 4.4.0 OSS/WinXP_SP3 :(
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Re: Qt 4.4. Корявый setSpan

Сообщение Clear_Mind »

Спасибо eduard_pustobaev
Второй при нажатии распадается на 4 ячейки.


В этом то и баг :(
Вот более наглядный пример:

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

#include <QApplication>
#include <QTableWidget>
#include <QTextEdit>

int main(int argc, char **argv) {
    QApplication app(argc, argv);
    QTableWidget *tw = new QTableWidget(5, 5);

    tw->setSpan(1, 1, 2, 2);
    QTextEdit *te = new QTextEdit;
    tw->setCellWidget(1, 1, te);

    tw->setSpan(3, 1, 2, 2);
    QTextEdit *other_te = new QTextEdit;
    tw->setCellWidget(3, 1, other_te);

    tw->show();
    return app.exec();
}

В данном примере QTextEdit должен заменить объединенные ячейки. В первом случае (te) все работает прекрасно, во втором случае (other_te) QTextEdit заменяет только первую ячейку, а не все 4 как должен.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали:
Аватара пользователя
Clear_Mind
Сообщения: 241
Статус: Изредко заглядывающий
ОС: openSuSE 11.1

Re: Qt 4.4. Корявый setSpan

Сообщение Clear_Mind »

Баг исправлен!

---
2008-12-09 13:17 - Task status changed to 'Active'
2008-12-09 13:24 - Task status changed to 'Closed'
2008-12-09 13:24 - Resolution set to 'Resolved'
Bombers launch with no recall + Minutes warning of the missile fall
Take a look at your last sky + Guessing you won't have the time to cry
--- Iron Maiden (Brouther Than A Thousand Suns, 2006)
Спасибо сказали: