crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> глюк с QTableWidget
borune
  опции профиля:
сообщение 4.1.2011, 20:45
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Господа, помогите разобраться. Полдня копаю и ни к чему не пришел.

Есть такой код:
Раскрывающийся текст
QTableWidget *table;

....

void MainWindow::my_funct0()
{
table = new QTableWidget(this);
table->setColumnCount(6);
table->setRowCount(2);
table->setGeometry(40,90,10+table->columnWidth(0)+table->columnWidth(1)+table->columnWidth(2)+table->columnWidth(3)+table->columnWidth(4)+table->columnWidth(5),40+table->rowCount()*50);
table->show();
}

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

Если я изменяю вышеприведенный код вот так:

Раскрывающийся текст
QTableWidget *table;

....

void MainWindow::my_funct1()
{
table = new QTableWidget(this);
table->show();
delete table;

table = new QTableWidget(this);
table->setColumnCount(6);
table->setRowCount(2);
table->setGeometry(40,90,10+table->columnWidth(0)+table->columnWidth(1)+table->columnWidth(2)+table->columnWidth(3)+table->columnWidth(4)+table->columnWidth(5),40+table->rowCount()*50);
table->show();
}

то любая ячейка выделяется сколько угодно раз. Причем если убрать первую функцию show(), то результат будет точно таким же, как и в первом случае.

Объясните, пожалуйста, в чем тут дело.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 4.1.2011, 22:14
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Описанная проблема проявляется на 7ке. В ХР ее нету. Версии КуТэ стоят одинаковые.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.1.2011, 22:46
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


borune, а компилишь в какой ОСьке?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 5.1.2011, 0:48
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 4.1.2011, 22:46) *
borune, а компилишь в какой ОСьке?


ну соответственно в 7ке и в хр. под линями еще не пробовал)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 5.1.2011, 0:56
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


Может скинешь код а главное скомпилированный пример?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 5.1.2011, 2:49
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ufna @ 5.1.2011, 0:56) *
Может скинешь код а главное скомпилированный пример?

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

Всю программу кидать не имеет смысла, могу создать отдельный проект, где будет только работа с таблицей.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.1.2011, 2:52
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(borune @ 5.1.2011, 4:49) *
могу создать отдельный проект, где будет только работа с таблицей.
вот это и надо, минимальный компилируемый пример, который воспроизводит ошибку. А иначе людям лень будет самим, что-то набивать да компилировать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 5.1.2011, 12:23
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


к сожалению, пример не воспроизводит ошибку..надо копать глубже

но вопрос остается..один и тот же код на разных ос работает по-разному..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 5.1.2011, 12:33
Сообщение #9


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


Если в примере ошибки нет, а в проекте есть => косяк скорее всего в каком-нибудь кэше. Очистку проекта и re-qmake делал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 5.1.2011, 18:52
Сообщение #10


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ufna @ 5.1.2011, 12:33) *
Если в примере ошибки нет, а в проекте есть => косяк скорее всего в каком-нибудь кэше. Очистку проекта и re-qmake делал?


даже комп перезагружал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.10.2020, 4:52