12
12
import os
13
13
14
14
from PyQt5 .QtCore import Qt
15
- from PyQt5 .QtGui import QStandardItemModel , QStandardItem
16
- from PyQt5 .QtWidgets import QTreeView
15
+ from PyQt5 .QtGui import QStandardItemModel , QStandardItem , QCursor
16
+ from PyQt5 .QtWidgets import QTreeView , QMenu , QAction
17
17
18
18
from Utils import Constants
19
19
from Utils .CommonUtil import AppLog , Signals
@@ -29,6 +29,7 @@ class TreeView(QTreeView):
29
29
def __init__ (self , * args , ** kwargs ):
30
30
super (TreeView , self ).__init__ (* args , ** kwargs )
31
31
self ._initModel ()
32
+ self ._initMenus ()
32
33
self ._initSignals ()
33
34
34
35
def _initModel (self ):
@@ -38,11 +39,41 @@ def _initModel(self):
38
39
self ._fmodel .setSourceModel (self ._dmodel )
39
40
self .setModel (self ._fmodel )
40
41
42
+ def _initMenus (self ):
43
+ """初始化菜单"""
44
+ self ._menu = QMenu (self .tr ('Catalogs' ), self )
45
+ self ._actRun = QAction (self .tr ('Run File' ), self ._menu )
46
+ self ._actFolder = QAction (self .tr ('Open Folder' ), self ._menu )
47
+ self ._menu .addAction (self ._actRun )
48
+ self ._menu .addAction (self ._actFolder )
49
+
41
50
def _initSignals (self ):
42
51
Signals .itemJumped .connect (self .onItemJumped )
43
52
Signals .filterChanged .connect (self ._fmodel .setFilterRegExp )
44
53
self .clicked .connect (self .onClicked )
45
54
self .doubleClicked .connect (self .onDoubleClicked )
55
+ self .customContextMenuRequested .connect (self ._showMenu )
56
+ self ._actRun .triggered .connect (self .doRunFile )
57
+ self ._actFolder .triggered .connect (self .doOpenFolder )
58
+
59
+ def _showMenu (self , pos ):
60
+ """右键显示菜单
61
+ :param pos:
62
+ """
63
+ mindex = self .indexAt (pos )
64
+ if not mindex or not mindex .isValid ():
65
+ return
66
+ self ._menu .exec_ (QCursor .pos ())
67
+
68
+ def doRunFile (self , triggered ):
69
+ """运行文件
70
+ :param triggered:
71
+ """
72
+
73
+ def doOpenFolder (self , triggered ):
74
+ """打开所在文件夹
75
+ :param triggered:
76
+ """
46
77
47
78
def rootItem (self ):
48
79
"""得到根节点Item"""
0 commit comments