Russian Qt Forum
Май 02, 2024, 02:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 85 86 [87] 88 89 ... 96
1291  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 10, 2010, 07:13
фишка была бы в том, что если в дизайнере взведен флажок у кнопки Apply или у еще нескольких других, и они сразу появились на окне, то они уже соединены с приемником - ради этого по лишней инструкции RET и записи в таблице виртуальных методов не сильно повредили бы... просто стало бы где-то чуть удобнее
1292  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 19:16
так и сделаю, но кнопка же готовая вроде есть уже... хотя наверно если в дезайнере ее включить, то в .ui файл такой же вызов button() и прописывается...

1293  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 18:16
возникает.... а что должен делать слот apply() стандартного  диалога ??

а что в наследующем его классе программист напишет, то и должен... от стандартных accept и reject в QDialog толку ровно 0 - они просто окно диалога закрывают, их все равно переопределять надо, аналогично и apply(), и остальные

1294  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 17:52
Цитировать
А какую роль должна передавать кнопка, например, "Установить персональные данные"?

так это же нестандартная кнопка

я про стандартные

но разумеется, если есть некий набор "стандартных" кнопок, то я бы ожидал, что у приемников для них есть набор стандартных реакций, то есть, у QDialog должен быть слот apply() и несколько других, соответствующих набору стандартных кнопок у QDialogButtonBox, а у этого класса соответствующий набор сигналов, которые подключаются автоматом при использовании "стандартных" кнопок

тогда включение использования "стандартной" кнопки в дизайнере просто соединяло бы ее с соответствующим слотом, и никаких вопросов не возникнет
1295  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 17:43
можно было бы спокойно обойтись одним единственным done(int), не было бы повода для заблуждений
Попробуй соединить сигнал QPushButton::clicked() со слотом QDialog::done( int ).  Подмигивающий

если бы сигнал имел вид QPushButton::clicked(ButtonRole role), а слот QDialog::done(ButtonRole role) все бы замечательно соединялось!

Цитировать
Куда уж больше предупреждать

имелось в виду - предупредить, что для этого просто вызывается done()
1296  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 17:34
Цитировать
Посмотри на:
QPushButton * QDialogButtonBox::button ( StandardButton which ) const

я и попытался его использовать, но что-то не получилось, и... рабочий день закончился, исходников дома нет

Цитировать
accept и reject закрывают диалог, а для apply этого не требуется.
Посмотри как они описаны в исходниках:

кхе... это несколько неожиданно... могли бы и предупредить  Грустный

я подумал сначала, кнопка ОК через промежуточный слот сначала сигнал посылает в accept() потом в done() - в первый, чтобы принять изменения, во второй чтобы закрыть диалог, не совсем понятно, нафига тогда эти accept() и reject(), можно было бы спокойно обойтись одним единственным done(int), не было бы повода для заблуждений

и как-то странно - кнопки Apply и десяток других "стандартных" есть, а у QDialog слотов готовых для них... нет
1297  Qt / Пользовательский интерфейс (GUI) / Re: кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 17:14
ну и толку???

это же надо самому разобрать, что нажата именно кнопка Apply и вызывать слот accept()

тогда как правильно было бы сразу соединить сигнал этой кнопки с accept() и ничего разбирать не надо

добраться до кнопки я хочу, чтобы в конструкторе диалога connect сделать, раз дизайнер сам не смог, хотя 100% мог бы
1298  Qt / Пользовательский интерфейс (GUI) / кнопка Apply не работает в ButtonBox : Июнь 09, 2010, 15:53
нарисовал бокс с 3-мя Ok, Cancel, Apply (для последней взвел флажок в редакторе бокса в QDesigner), бокс поместил на Qdialog

2 первые кнопки сами соединились со слотами диалога, переопределил их, все хорошо, при нажатии Ok вызывается сначала accept() потом done(), при Cancel сначала reject() потом done()

но кнопка Apply, хоть и стандартная, но никуда не присоединилась, и че-то сразу как-то не видно, как сделать, чтобы при ее нажатии вызывался только accept() как должно быть по ее логике

в дизайнере при редактировании связей от нее нет сигнала, и в описании бокса не видно, как добраться до кнопки по ее номеру или названию
1299  Qt / Qt-инструментарий / Re: КуДизайнер, как лучше сделать диалог настроек? : Июнь 09, 2010, 12:39
вот же елки-моталки, если бы у Tree Widget был сигнал с единственным параметром типа int, в котором передается номер в дереве сверху, то можно было бы связать его прямо в дизайнере со слотом у Stacked Widget, который выбирает соответствующий субвиджет в стеке! и диалог настроек можно было бы полностью нарисовать в дизайнере... а так придется промежуточные слоты руками писать  Злой
1300  Qt / Qt-инструментарий / Re: КуДизайнер, как лучше сделать диалог настроек? : Июнь 09, 2010, 11:57
хе, так это же должен быть Stacked Widget!  Смеющийся
1301  Qt / Qt-инструментарий / КуДизайнер, как лучше сделать диалог настроек? : Июнь 09, 2010, 11:41
делается диалог настроек, слева Tree Widget, в нем заранее известные группы настроек, рисуются в Дизайнере

справа от дерева "страница" настроек, соответствующая листу в дереве, как это обычно принято

вот эту страницу можно заполнить чисто программно, с этим все понятно

а можно ли нарисовать все заранее известные страницы в Дизайнере, и желательно в нем же связать их с ветками дерева? ну или если связать нельзя, то не очень страшно, можно и строку кода дописать для показа нужной страницы

но как лучше и правильнее всего сделать эти страницы в Дизайнере? пока на ум приходит только вариант создания нескольких классов со своими .ui, и потом привязка этих классов к листам - а можно ли проще? можно ли все страницы разместить каким-то образом в одном .ui, в котором собственно и дерево, и весь виджет?
1302  Qt / Qt-инструментарий / в КуДизайнере можно открыть ветки Tree Widget? : Июнь 09, 2010, 10:38
в форму встраиваю Tree Widget, все почти замечательно, но при запуске приложения все ветки дерева свернуты

есть ли способ в дизайнере указать, что ветки дерева должны быть по-умолчанию раскрыты? в Edit Tree Widget сколько ни смотрел, не увидел такого, ни в редакторе всего виджета, ни в редакторе Properties у отдельных Items

если нет, то как бы лучше их все сразу открывать, но чтобы не пробегать по ним при создании диалога?
1303  Qt / Дополнительные компоненты / Re: посоветуйте готовый диалог настроек : Июнь 08, 2010, 15:33
не знаю, не видел

IM в качестве примера тут только потому, что у Миранды сами диалоги выглядят именно так, как нам нужно
1304  Qt / Дополнительные компоненты / посоветуйте готовый диалог настроек : Июнь 08, 2010, 15:02
в растущее приложение нужен диалог настроек, с максимумом возможностей, идеально если есть готовый, такой, как у Miranda-IM - слева дерево настроек, справа страницы, причем с поддержкой закладок там, где надо, с разными виджетами, с поддержкой help-а

а хорошо бы, если оно еще и умеет сразу работать с QSettings, чтобы при изменении настроек приложения, они сразу же сохранялись

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

диалог в wwWidgets видел, слабенький, пока возможно воспользуемся, но на будущее нужно бы помощнее
1305  Qt / Общие вопросы / Re: непонятки с таймером, не всегда запускается, см. сообщение : Июнь 08, 2010, 13:58
стандартным QPainter, айтемы содержат только текст, никакой графики на сцене нет

уточнил - сейчас пару секунд рисуется сцена с >7000 айтемами, посложнее с >33000 айтемов около 17 секунд (в меньшей сцене все равно есть еще чего делать, поэтому скорость неравномерная)

можно и приделать выдачу сообщения для таких сцен, хотя на самом деле, будет в разы быстрее рисоваться, сейчас неоптимально вычисляются bounding rectangle для случаев вложенных айтемов (которых подавляющее большинство), проверял, если кешировать размеры, то отрисовывается в несколько раз быстрее (где-то в 3-5), но надо сесть и аккуратно прописать необходимость перевычисления при изменении вложенных айтемов

железо - квадропень с ddr3
Страниц: 1 ... 85 86 [87] 88 89 ... 96

Страница сгенерирована за 0.057 секунд. Запросов: 24.