Просмотр сообщений
|
Страниц: 1 ... 86 87 [88] 89 90 ... 96
|
1306
|
Qt / Общие вопросы / Re: Почему вы выбрали Qt
|
: Июнь 08, 2010, 08:13
|
первый раз знакомился с Qt в середине 90-х уау.. епс.. а скажите, с какой же версией вы работали? и под какой лицензией? и на какой ОС ? жуть как любопытно ![Строит глазки](http://prog.org.ru/forum/Smileys/default/rolleyes.gif) версия 1.х точнее не помню, лицензия GPL, ОС Linux RedHat версию тоже не помню, WDM KDE тоже не помню версию нельзя сказать, чтобы именно работал, скорее как раз познакомился
|
|
|
1307
|
Qt / Общие вопросы / Re: Почему вы выбрали Qt
|
: Июнь 07, 2010, 17:29
|
какие MFC? ![Непонимающий](http://prog.org.ru/forum/Smileys/default/huh.gif) ?... ![Шокированный](http://prog.org.ru/forum/Smileys/default/shocked.gif) какой в болото .NET???... ![Злой](http://prog.org.ru/forum/Smileys/default/angry.gif) Qt - откровенно не идеал, есть масса недостатков, но это лучший инструмент, с которым приходилось работать, а недостатки со временем исправляются первый раз знакомился с Qt в середине 90-х, уже тогда это был отличный инструмент для быстрого создания приложений, а сейчас вообще не о чем говорить... на голову выше всего остального, хотя есть еще над чем работать
|
|
|
1311
|
Qt / Пользовательский интерфейс (GUI) / не удаляется виджет из QVBoxLayout
|
: Июнь 07, 2010, 15:53
|
к некоему QVBoxLayout добавляется некоторое количество таблиц, которые создаются QTableWidget* t = new QTableWidget(DEFALUTVARSNUMB,numb,mainWidget);
потом
QList arrayList << t; (QVBoxLayout*) vLayout->addWidget( t ); когда надо, некоторые удаляются так: vLayout->removeWidget( arrayList[ i ] ); vLayout->update(); в результате виджет из бокса не исчезает, хотя изображение меняется - исчезает двойная полоска, отделяющая его от предыдущего виджета что не так делаю?
|
|
|
1312
|
Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение
|
: Июнь 07, 2010, 15:13
|
мне больше всего нравится собственная идея с параллельным тредом, который индикаторы включает, если надо, но с простой проверкой сколько времени прошло, в данном частном случае получилось нормально, задержка при отрисовке (с вычислениями) порядка нескольких десятков тысяч графических айтемов - не более 3-х секунд, песочные часы вполне уместны
|
|
|
1313
|
Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение
|
: Июнь 07, 2010, 12:03
|
поверь, даже самому будет гораздо приятнее, если вместо подвисания гуя (хоть с ним работать и не надо ПОКА ЧТО) у тебя заблокируются элементы которые трогать пока-что не надо и на экране будет написано "Рисуем..." Улыбающийся а сделать это - 15 минут мне это сейчас сделать - 1 минута... блокировка элементов давным давно есть, надо только ее вызывать в той функции, которая ответственна за проверку пройденного времени и включение песочных часов а вместо надписи "Рисуем" вполне устраивают песочные часы
|
|
|
1314
|
Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение
|
: Июнь 07, 2010, 10:43
|
угу, для каких-то приложений примерно так и надо делать, хотя без всяких FIFO можно вполне обойтись
но в моем случае, поскольку пока Redraw не выполнится, гуй и не должен полноценно работать, ибо не с чем
а вот таймеры, и все, что к гую не относится, по идее должно...
|
|
|
1315
|
Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение
|
: Июнь 07, 2010, 09:34
|
ну такие подсказки мне уже не нужны - я уже только что сделал и проверил, только лучше, ![Подмигивающий](http://prog.org.ru/forum/Smileys/default/wink.gif) с единственным дополнительным вызовом внутри Redraw, все работает фишка была в том, чтобы потом сделать регулярный механизм смены курсора для любых операций, которые могут выполняться долго, и которые могут быть внешними, например, библиотечными - тогда чтобы просто перед такой операцией достаточно было создать объект какого-то специального класса, и чтобы курсор волшебным образом менялся, если от момента создания этого объекта, и до момента его уничтожения проходит слишком много времени одним только таймером для этого не обойдешься, сделать придется чуть больше
|
|
|
1316
|
Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение
|
: Июнь 07, 2010, 09:08
|
хотя это как-то "по-DOS-овски" ![Улыбающийся](http://prog.org.ru/forum/Smileys/default/smiley.gif) в единичном случае схляет, но хотелось некий регулярный способ получить, чтобы можно было потом просто вызывать одну функцию во всех похожих случаях и вообще... какой же это "таймер", если события его не проходят, когда приложение занято??? ![Злой](http://prog.org.ru/forum/Smileys/default/angry.gif) я ожидал бы, чтобы таймер работал в параллельной нити, чтобы его сигналы гарантированно доставлялись через блокирующее соединение - придется наверно такое самому написать
|
|
|
1317
|
Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение
|
: Июнь 07, 2010, 08:58
|
хех... попробовал добавить вызов processEvents() внутрь Redraw(), причем не на каждый элемент, а только перед некими "крупными" действиями, результат удручающий... оно то заработало, но отрисовка замедлилась в несколько раз, и что самое ужасное, стало видно, как сцена рисуется, чего собственно и следовало ожидать ![Злой](http://prog.org.ru/forum/Smileys/default/angry.gif) то есть, надо вычленить, и разрешить только событие таймера, чтобы processEvents() разрешало прохождение только его событий, либо хотя бы запретить прохождение событий при рисовании - а такой возможности нет... ![Грустный](http://prog.org.ru/forum/Smileys/default/sad.gif) есть только два флага QEventLoop::ExcludeUserInputEvents и QEventLoop::ExcludeSocketNotifiers, оба не подходят чтобы гарантированно работало, наверно надо бы второй тред запустить, но небось же нельзя из второго треда просто обратиться к методам QApplication, живущего в первом треде... или по поводу смены курсора можно?
|
|
|
1318
|
Qt / Общие вопросы / Re: делегат для одной ячейки таблицы - это возможно?
|
: Июнь 06, 2010, 20:59
|
разумеется, но фишка не в этом - сейчас придется реализовать класс, который поддерживает все возможные на сейчас варианты, а если новые добавятся, то придется этот класс переписывать
если бы можно было разные классы в столбец делегировать, то переписывать ничего не надо, можно было бы готовые добавить в библиотеку, и потом только добавлять новые
|
|
|
1319
|
Qt / Общие вопросы / Re: делегат для одной ячейки таблицы - это возможно?
|
: Июнь 06, 2010, 19:14
|
QAbstractItemModel::flags ( const QModelIndex & index )
это все понятно, но несколько не то... может потребоваться, например, разные типы виджетов в разных ячейках одной колонки например, в колонке отображаются данные разных типов: целое, логическое, вещественное - для целых удобно спином или редактированием менять значение, для вещественных надо иметь возможность редактирования, или выбора из предопределенных символьных эквивалентов (PI, E, PI/2 и тд), для логических только выбор из списка ИСТИНА или ЛОЖЬ ну или какой-нибудь более сложный случай странно, что нет вызова setItemDelegateForCell ( int row, int column, QAbstractItemDelegate * ) придется наверно в моем случае "с делегатом мудрить", так похоже проще всего получится
|
|
|
1320
|
Qt / Общие вопросы / делегат для одной ячейки таблицы - это возможно?
|
: Июнь 06, 2010, 18:08
|
нужно, чтобы в одной колонке были в разных ячейках разные значения, в одних спин-боксы с выбираемым значением из диапазона, в других просто значения, причем не редактируемые, устанавливаются только программно
не вижу возможности установить делегата для отдельной ячейки, вижу только на таблицу, строку или колонку - ткните носом, плз, если такое есть
|
|
|
|
|