Уведомления

Группа в Telegram: @pythonsu

#1 Июль 29, 2016 14:38:41

Gena
Зарегистрирован: 2016-07-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

PYQT обработка меню по провам доступа

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

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

Мне нужно сделать если пользователь Менеджер выводилось только меню Менеджер

Отредактировано Gena (Июль 29, 2016 14:39:28)

Офлайн

#2 Июль 29, 2016 22:18:35

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

PYQT обработка меню по провам доступа

если через qmenu, то можно qaction.setVisible(False)

Офлайн

#3 Июль 30, 2016 15:02:30

Gena
Зарегистрирован: 2016-07-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

PYQT обработка меню по провам доступа

vic57
если через qmenu, то можно qaction.setVisible(False)
Можете привести небольшой пример? что то не получается у меня сделать

Офлайн

#4 Июль 30, 2016 15:23:45

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

PYQT обработка меню по провам доступа

Ну вообще я бы сделал отдельные меню для разных юзеров. Как вы сделали авторизацию, покажите код?Компа нет под рукой, идея такая - диалог авторизации должен вернуть код пользователя . По коду определяется или меню для юзера, или в общем меню определяются доступные юзеру пункты.

Отредактировано vic57 (Июль 30, 2016 15:31:45)

Офлайн

#5 Июль 30, 2016 15:59:50

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

PYQT обработка меню по провам доступа

 mnu =QMenu()
one = QAction("one")
two = QAction("two")
mnu.addAction(one)
mnu.addAction(two)
mnu.action(one).setEnabled(False)
На пальцах так. Пишу с телефона, возможны ошибки
Погугли qaction, qactiongroup

Отредактировано vic57 (Июль 30, 2016 16:03:47)

Офлайн

#6 Июль 30, 2016 18:25:36

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

PYQT обработка меню по провам доступа

Gena
Сделал авторизацию, разделил логины по уровням, но не могу не как в мануалах найти про скрытие меню от уровня пользователя, можете подсказать куда копать.
Должно быть несколько режимов у меню.
Если пользователь такой-то, то у меню устанавливается такой-то режим (через сигнал). А потом меню начинает заполняться в соответствии с установленным режимом меню. На каждый режим делается отдельный метод.

Можно и полиморфные классы сделать, а потом в соответствии с режимом передавать определённый класс в создатель меню. У каждого класса есть один и тот же метод (но свой), который вызывается потом для заполнения меню.



Отредактировано py.user.next (Июль 30, 2016 18:31:20)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version