Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 15, 2021 18:30:57

TomyLimon
Зарегистрирован: 2021-09-15
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

Добрый день.
Я пишу свою первую бизнес программу на py с использованием pyqt5.

Это должна быть аппликация с пользовательским интерфейсом , запускаемая как отдельное приложение.
Для хранения данных я использую mySql.
В приложении надо управлять различной информацией. Например кадеты, тренировки, сценарии тренировок.
Для каждого такого модуля я использую свою позицию в основном меню.
Вопрос.
Как менять основной экран при переходе между разделами?
Каждый раздел это таблица со списком и при нажатии на строку таблицы появляется дополнительная панель в которой форма.
Переключаться между окнами я не хочу. Хочу всё сделать в одном окне.

Второй момент.
Я выбрал строку/запись в таблице и в форме сделал изменения. В форме есть кнопка “сохранить”. При нажатии, я сохраняю данные в mySql. Как обновить данные в таблице? Просто перезапросить mySql и перерисовать всю таблицу?

Я не совсем понимаю как эти два момента правильно делать в стиле py.

Заранее спасибо.

Офлайн

#2 Сен. 15, 2021 19:31:27

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

https://www.pythonguis.com/tutorials/modelview-architecture/



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#3 Сен. 15, 2021 19:34:20

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

TomyLimon
Переключаться между окнами я не хочу
Желательно более внятно объяснить что именно вас не устраивает. Нехотение устраняют обычно рюмкой водки.
Вы можете все контролы в одно окно сунуть. Сделать сплиттеры. Размести все на табконтролах и еще сотней способов ликвидировать нехотение.



Офлайн

#4 Сен. 16, 2021 02:06:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

TomyLimon
Как менять основной экран при переходе между разделами?
Сигналы и слоты надо использовать. Когда нажимаешь на раздел, это нажатие посылает сигнал. А сигнал привязывается к слоту, который и меняет содержимое окна какого-нибудь. Надеюсь, ты не пытаешься в дизайнере всё это сделать. Это надо программировать руками.



Отредактировано py.user.next (Сен. 16, 2021 02:06:33)

Офлайн

#5 Сен. 16, 2021 21:25:44

TomyLimon
Зарегистрирован: 2021-09-15
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

py.user.next
Спасибо за ответ

Я это программную. Идея к которой я пришел:
У меня один MainWindow. В этот MainWindow я поместил QFrame.
QFrame у меня для каждого раздела свой. Всё визуальные объекты одного раздела в отдельном QFrame.
Когда надо поменять раздел, я прячу текущий QFrame и показываю нужный.

Вот так я придумал. Это один из подходов или я совершенно не в ту сторону?

Офлайн

#6 Сен. 16, 2021 21:35:00

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

TomyLimon
Это один из подходов или я совершенно не в ту сторону?
Это один из возможных подходов. Но! в графическом интерфейсе важно чтобы действия были стандартны и пользователь получал визуальное подтверждение того что он делает.

К вашему решению наиболее близок tab контрол.

https://doc.qt.io/qt-5/qtabwidget.html
https://doc.qt.io/qt-5/qtwidgets-dialogs-tabdialog-example.html
Его и следует использовать.



Офлайн

#7 Сен. 16, 2021 22:32:54

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Данные и отображение разделов в pyqt

> Это должна быть аппликация с пользовательским интерфейсом , запускаемая как отдельное приложение.

Аппликация это когда клеют цветную бумагу на картонку? Или я что то путаю….

> Как менять основной экран при переходе между разделами?

QStackedWidget



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version