Здравствуйте, гость ( Вход | Регистрация )
igor_bogomolov | Дата 27.4.2009, 17:02 |
Вот ответ который я получил Цитата Hi Igor, Thanks for the test. I am not sure yet why I can't reproduce it with my testcase but yours worked. I've created a task for the development team who will look into fixing this for a future release. You can track the status of this entry in the Task Tracker with ID 252253. See: http://www.qtsoftware.com/developer/task-t...y&id=252253 Из переписки встал следущий вопрос. В первом письме от тех поддержки я получил следущий код для проверки бага test.cpp
testcase.pro
Внутри setIndexWidget для lineEdit у нас вызывается deleteLater. Далее делается QApplication::processEvents() для того чтобы deleteLater отработал. Тем не менее удаления не происходит. Я пробовал делать разные тесты, но положительного результата так и не добился. Кто знает в чем проблема? Почему в данном случае deleteLater у нас не отробатывается? P.S. Если кому интересно, вот код который я отправил, что бы баг репорт приняли. Раскрывающийся текст
|
|
Litkevich Yuriy | Дата 25.4.2009, 2:12 |
или ответить на полученное письмо, и там прикрепить тест? или, тебя так и просят. |
|
igor_bogomolov | Дата 25.4.2009, 1:01 |
Спасибо, Юрий. Можно еще совет спросить. Я может сейчас, может за выходные, накидаю тестовый примерчик. Как дальше поступить, создать новый баг репорт или ответить на полученное письмо, и там прикрепить тест? |
|
Litkevich Yuriy | Дата 25.4.2009, 0:54 |
Перевод: Цитата Привет Игорь, Спсибо за сообщение об этой проблеме. Код, как (мне) кажется, показывает, что этот особый случай был опущен (не принят во внимание), с которым я согласен, может привести к неожиданному поведению, даже несмотря на то, что это некритично. Тем не мение, я пытался безуспешно воспроизвести проблему, я прикрепил тест, который я проводил. Если выполучите FAIL! во время этого теста, или сможете предоставить мне маленький компилируемый пример, который воспроизводит проблему, я могу подать сообщение об ошибке для этой проблемы. |
|
igor_bogomolov | Дата 25.4.2009, 0:07 |
Привет всем. Сообщением выше я писал, ято отправлял баг репорт по данной теме. Во какой ответ я получил. Цитата Hi Igor, Thanks for reporting this issue. The code seems to show that this particular case has been omitted, which I agree, could lead to a weird behaviour, even though it is definitely not critical. However, I tried with no luck reproducing the issue, I attached the test I tried with. If you either get a FAIL! with this test case, or can provide me with a little compilable example that reproduces the problem, I could file a bug report for that problem. Моих знаний английского не хватает, что бы до конца понять ответ. Пробовал перевести Google-ом. Они просят что ли написать небольшой тестовый пример воспроизводящий баг? Заранее спасибо за помощь |
|
igor_bogomolov | Дата 22.4.2009, 20:51 |
По этой теме тоже баг репорт написал. Походу не приняли. Видимо из-за моего английского, не поняли что я имею ввиду | |
Danila_Bagrofff | Дата 17.4.2009, 12:32 |
igor_bogomolov, вы уж извините =) Просто я искал разные пути решения =) И игрался по-всякому, стараясь как-нить обойти =) не получилось. В итоге, создаю копию нужного мне виджета и уже его размещаю. Увы, видимо, иначе пока сделать нельзя. Спасибо =) И не ругайтесь сильно =) не каждый раз натыкаешься на бажки кутэ =) |
|
igor_bogomolov | Дата 17.4.2009, 10:38 |
QTableWidget, предназанчен для довольно примитивных операций над ним. Поэтому он сам удаляет свои элементы Вставка виджета происходит на уровне QAbstractItemView методом setIndexWidget. При этом, данный метод не является виртуальным, и переопределить его не получится.На мой взгляд имеем недоработку(а возможно и баг), т.к. не происходит проверки вставляемого виджета с предыдущим. Предыдущий виджет просто удаляется. Видимо так сделанно из-за того, что копирование виджетов запрещено. Хотя, на мой взгляд, они должны были предусмотреть такую возможность, что бы защититься от лишних ошибок, в результаве повторного вставления одного и того же виджета в ячейку. Это с одной стороны ошибка программиста, но и недоработка библиотеки, в крайнем случае описания данного метода. Так что можно и отрапортовать о баге, посмотрим что ответят. Как считаете, стОит? ИМХО. |
|
Litkevich Yuriy | Дата 17.4.2009, 9:40 |
Это бага Qt? Нужно перед новым размещением создавать дубликат обязательно? дело в том, что QTableWidget, предназанчен для довольно примитивных операций над ним. Поэтому он сам удаляет свои элементы (Игорь уже и исходник класса показал) |
|
igor_bogomolov | Дата 17.4.2009, 8:20 |
Да елы палы. Ты вообще читаешь что тебе отвечают. Я тебе вчера сразу ответил что происходит в данной ситуации. Обратите внимание на код. Когда вставляется виджет, сначало происходит удаление старого. При этом не происходит никакой проверки. Читай мое сообщение выше.Т.о. образом при повторном вставлении виджета в ячейку, модель ее просто удаляет. Вобщемто недоработка на мой взгляд. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 6:00 |