Найти - Пользователи
Полная версия: PYQT обработка меню по провам доступа
Начало » Python для новичков » PYQT обработка меню по провам доступа
1
Gena
Добрый день
Есть небольшое GUI написанное на PYQT (программа работает нормально, все устаревает)
в этой программе есть 3 меню (меня менеджеры за***ли уже нажатием не туда и не в то меню)
Нужно сделать что бы для одного отдала выводилось 1 меню для другого другое
Сделал авторизацию, разделил логины по уровням, но не могу не как в мануалах найти про скрытие меню от уровня пользователя, можете подсказать куда копать.

Меню такое:
Менеджер - под категории
Бухгалтерия - под категории
Администратор - под категория

Мне нужно сделать если пользователь Менеджер выводилось только меню Менеджер
vic57
если через qmenu, то можно qaction.setVisible(False)
Gena
vic57
если через qmenu, то можно qaction.setVisible(False)
Можете привести небольшой пример? что то не получается у меня сделать
vic57
Ну вообще я бы сделал отдельные меню для разных юзеров. Как вы сделали авторизацию, покажите код?Компа нет под рукой, идея такая - диалог авторизации должен вернуть код пользователя . По коду определяется или меню для юзера, или в общем меню определяются доступные юзеру пункты.
vic57
 mnu =QMenu()
one = QAction("one")
two = QAction("two")
mnu.addAction(one)
mnu.addAction(two)
mnu.action(one).setEnabled(False)
На пальцах так. Пишу с телефона, возможны ошибки
Погугли qaction, qactiongroup
py.user.next
Gena
Сделал авторизацию, разделил логины по уровням, но не могу не как в мануалах найти про скрытие меню от уровня пользователя, можете подсказать куда копать.
Должно быть несколько режимов у меню.
Если пользователь такой-то, то у меню устанавливается такой-то режим (через сигнал). А потом меню начинает заполняться в соответствии с установленным режимом меню. На каждый режим делается отдельный метод.

Можно и полиморфные классы сделать, а потом в соответствии с режимом передавать определённый класс в создатель меню. У каждого класса есть один и тот же метод (но свой), который вызывается потом для заполнения меню.
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