Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Програмирование платформенно-независимых систем > Trolltech Qt
Перезагрузить страницу Получение сигнала после выбора строки в tableview
Ответ
 
Опции темы Опции просмотра
  (#46 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 11.01.2015, 17:06

Не меняйте ничего, перепишите интерфейс заново. Хотя бы на основе демки от Qt.
P.S. https://github.com/riuson/multiwindemo1/tree/mdi
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (15.01.2015)
  (#47 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 15.01.2015, 16:58

Здравствуйте.
На основе той же демки попробовал просто вызвать окно класса mainwindow после выбора new в меню.
Вызвалось окно, но данное окно смотрится поверх основного интерфейса mdi и не имеет никакой графической привязки к нему.

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

И так же попадать в закладки как сейчас попадают обычные текстовые файлы которые так же создаются по нажатию меню new.

Примерно визуально я представляю его как на скрине...
Возможно такое сделать с интерфейсом MDI? Если да подскажите пожалуйста как?
Миниатюры
primer-okna.jpg  
Вложения
Тип файла: zip multiwindemo1-mdi.zip (21.5 Кб, 3 просмотров)
Ответить с цитированием
  (#48 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 15.01.2015, 19:09

См. там же, обновил. Код попахивает, но пока ещё работает.

cpp Код:
mdiArea->addSubWindow(child);
Так добавляется дочернее окно в MDI. То есть любой наследник от QWidget может быть добавлен туда. Наследовать окно от QMainWindow это слишком.
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (15.01.2015)
Ads
  (#49 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 17.01.2015, 16:17

Доброго времени суток.
Попытался разбирая пример добавить свое меню "Справочники".

Добавил в него пункты "Номенклатура, Контрагенты, Справочники".
Создал форму addnomenclatura попытался ее вызвать после выбора справочника "Номенклатура".

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

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

В каких местах проекта нужно добавить код, чтоб моя форма была как у вас которую Вы вызываете через File->new custom windows.
Миниатюры
aaoa-oidhia.jpg   iiy-oidhia.jpg  
Вложения
Тип файла: zip multiwindemo1-mdi.zip (23.1 Кб, 2 просмотров)
Ответить с цитированием
  (#50 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 17.01.2015, 16:51

См. там же, почистил код, должно быть понятней.
Сравните определения классов addnomenklatura и WindowExample.
Ответить с цитированием
Ads.
  (#51 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 17.01.2015, 19:18

Сравнил определение классов.
Попытался сделать один в один...
Даже есть результат теперь добавляется в закладки окно которое вызываю через справочник номенклатура, но по прежнему оно стянуто как на прошлой фотке показывал. Где еще упускаю подскажите?(
Вложения
Тип файла: zip multiwindemo1-mdi.zip (21.9 Кб, 8 просмотров)
Ответить с цитированием
  (#52 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 17.01.2015, 20:19

Это связано с определением минимальных размеров окна. У меня добавлен Vertical Spacer, также можно указать минимальные размеры окна в его настройках, или поискать ещё способы...
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (17.01.2015)
  (#53 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 18.01.2015, 16:39

нашел способ который наиболее мне приятен визуально.
cpp Код:
setWindowState(Qt::WindowMaximized);
И сам интерфейс MDI и окна в нем растягиваются на весь экран.
Минус только в том, что когда одно окно наживаешь свернуть, сварачиваются все))) это как то не правильно) но не могу понять почему так и где в коде это исправить... Может вы сможите с этой проблемой разобраться.
Вложения
Тип файла: zip multiwindemo1-mdi.zip (19.8 Кб, 3 просмотров)
Ответить с цитированием
  (#54 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 18.01.2015, 17:06

Сворачиваю одно, и сворачивается одно. Остальные не развернутые просто висят, в том виде каком они были ранее.
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (18.01.2015)
  (#55 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 18.01.2015, 17:41

Чудеса.
Посмотрите еще раз пожалуйста.
Скрины сделал, оба окна при вызове уже развернуты.
Нажимаю в верхнем правом углу свернуть и сварачиваются сразу оба, причем в свернутом виде закреплены в разных местах.
Миниатюры
ioedhuou-iaa-ieia-iadhaae-iaaeaoeai-eiiiee-naadhiooue.jpg   naadhioeenue-ndhaco-iaa-ieia-idhe-ai-dhaciuo-ianoao-caedhaieeenue.jpg  
Ответить с цитированием
  (#56 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 18.01.2015, 19:26

Можно setWindowState(Qt::WindowMaximized); но только после установки минимальных размеров. Они не сворачиваются, а возвращаются в состояние до разворота.
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (19.01.2015)
  (#57 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 25.01.2015, 16:26

Доброго времени суток.
Казалось что уже решил до конца проблему с окнами, но снова наткнулся на проблему.
Окна вызов которых я прописываю в mainwindow открываются так как нужно, отображаются в закладках.

Проблема в дополнительных окнах, допустим я вызываю справочник номенклатура, он отображается нормально как мне нужно в стиле mdi, а вот вызов из этого окна , окна для редактирования справочника уже не попадает в закладки и не подвязывается к главному окну mdi.

Вызывается по нажатию кнопки "Добавить позицию".

Подскажите как эти дополнительные окна можно так же сделать как и основные которые я вызываю в mainwindow.
Вложения
Тип файла: zip multiwindemo1-mdi.zip (17.4 Кб, 1 просмотров)
Ответить с цитированием
  (#58 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 25.01.2015, 16:40

Передать созданное окно через сигналы в главное окно, чтобы уже оно разместило его в MDI.
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (25.01.2015)
  (#59 (permalink)) Старый
Lexflax Lexflax вне форума
Member
 
Сообщений: 92
Сказал(а) спасибо: 35
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 30.04.2011
По умолчанию 25.01.2015, 16:49

Простите мою наглость, я просто не знаю как это сделать.
Можите на примере показать?
Ответить с цитированием
  (#60 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,398
Сказал(а) спасибо: 22
Поблагодарили 937 раз(а) в 921 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 25.01.2015, 17:14

Обновил.
Ответить с цитированием
Пользователь сказал cпасибо:
Lexflax (25.01.2015)
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После замены дисковода нет сигнала на монитор андрей75 Любые вопросы от новичков 2 17.02.2014 02:10
Комп выключается после выбора загрузки, что делать? BAHO Техническая поддержка 19 14.08.2012 18:21
Нет сигнала после режима POST 024625 Любые вопросы от новичков 4 28.04.2010 00:14
Получение определенного числа после запятой Aziz C++ Builder 7 10.04.2010 00:19
BIOS после включения издаеттри коротких сигнала. SerGrey Техническая поддержка 26 05.12.2008 13:48
Получение параметров коммандной строки Niagen Prolog 8 15.02.2008 17:52
Нет сигнала на видеокарту после начала загрузки WINDOWS. alex2007 Техническая поддержка 7 21.06.2007 21:32
Получение и вывод на экран строки в TASM Zar Вопросы начинающих программистов 6 30.11.2006 22:32
Получение параметров командной строки Джо Delphi 2 28.07.2004 18:59
Получение командной строки по хэндлу окна Lili WinAPI 2 20.07.2004 16:44
Как сделать что бы событие происходило в момент выбора строки в ComboBox Anonymous Visual C++ 1 22.11.2003 22:39
Нужно, чтобы в списке после загрузки страницы не было выбора по умолчанию Anonymous DHTML, JavaScript, VBScript 1 14.11.2003 15:00



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов