Контекстное меню в PyQt

Контекстное меню в PyQt

Приветствие, расскажу о том, как с помощью PyQt создать контекстное меню для вашей программы.

Самое первое, что вам надо сделать, это определиться, когда показывать меню. У меня оно стоит на нажатие правой кнопки мыши.

Переопределяем нажатия мыши для нашего окна: def mousePressEvent(self, event): if event. button() == Qt. RightButton:

# …

Далее нам нужно дописать вместо “…” код, который и будет показывать контекстное меню. Для этого у нас есть класс QMenu.

ContextMenu = QtGui. QMenu() contextMenu. exec_(QtGui. QCursor. pos())

Что же мы делаем? Создаем объект меню и показываем его на месте нажатия. Теперь нужно наполнить наше меню действиями. Для начала, самое простое: contextMenu. addAction("Exit from program", self, Qt. SLOT("close()"))

Полный код: contextMenu = QtGui. QMenu() contextMenu. addAction("Exit from program", self, Qt. SLOT("close()")) def mousePressEvent(self, event): if event. button() == Qt. RightButton: contextMenu. exec_(QtGui. QCursor. pos())


Карта сайта


Информационный сайт Webavtocat.ru