Найти - Пользователи
Полная версия: Данные и отображение разделов в pyqt
Начало » Python для новичков » Данные и отображение разделов в pyqt
1
TomyLimon
Добрый день.
Я пишу свою первую бизнес программу на py с использованием pyqt5.

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

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

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

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

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

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

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

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

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

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

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

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

QStackedWidget
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB