Я написал потомка QTreeView с несколькими столбцами. Я хочу создать всплывающее меню, которое появляется, когда пользователь щелкает правой кнопкой мыши заголовки столбцов. Я пытался ловить сигналы от QTreeView для этого, но QTreeView, похоже, не испускает сигналы в заголовках. QTreeView.header() делает. Поэтому я считаю, что должен либо:
1: подключить один из сигналов QHeaderView к всплывающей функции - мне не удалось найти сигнал, который запускается одним щелчком правой кнопкой мыши - я пробовал sectionClicked, sectionHandleDoubleClicked, sectionDoubleClicked, sectionPressed ( не удивлен, что функции двойного щелчка не улавливают одиночный щелчок правой кнопкой мыши, но они улавливают двойной щелчок правой кнопкой мыши)
self.header().sectionClicked.connect(self.headerMenu)
self.header().sectionHandleDoubleClicked.connect(self.headerMenu)
self.header().sectionDoubleClicked.connect(self.headerMenu)
self.header().sectionPressed.connect(self.headerMenu)
или,
2: написать потомка QHeaderView с моей собственной функцией MousePressEvent и использовать ее для моих заголовков. До сих пор мне не удалось подключить новый класс заголовка к потомку QTreeView. Я продолжаю получать ошибку сегментации во время выполнения без каких-либо дополнительных объяснений.
#in DiceView's init, where DiceHeaders is the QHeaderView descendant
self.setHeader(DiceHeaders())
Любые идеи?