gpt4 book ai didi

python - 在文件夹层次结构中构建文件菜单

转载 作者:太空宇宙 更新时间:2023-11-04 06:12:08 26 4
gpt4 key购买 nike

我有一个文件夹,该文件夹中有文件和其他文件夹,里面有文件和文件夹等。现在我要做的是制作一个下拉菜单并将每个文件名添加到菜单中,如果它是一个文件夹,它创建一个子菜单并将该文件夹中的文件名添加到该菜单等。我有一些(不完整的)代码:

def TemplatesSetup(self):

# add templates menu
template_menu = self.menubar.addMenu('&Templates')

#temp = template_menu.addMenu()

# check if templates folder exists
if os.path.exists('templates/') is False:
temp = QAction('Can not find templates folder...', self)
temp.setDisabled (1)
template_menu.addAction(temp)
return

for fulldir, folder, filename in os.walk('templates'):

for f in filename:
template_menu.addAction(QAction(f, self))

但我仍然不确定最好的方法是什么。有什么想法吗?

最佳答案

我为你做了一个完整的例子。

import sys
import os
import os.path

from PyQt4.QtCore import *
from PyQt4.QtGui import *

class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)

template_menu = self.menuBar().addMenu('&Templates')
menus = {'templates': template_menu}

for dirpath, dirnames, filenames in os.walk('templates'):
current = menus[dirpath]
for dn in dirnames:
menus[os.path.join(dirpath, dn)] = current.addMenu(dn)
for fn in filenames:
current.addAction(fn)

if __name__=='__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())

关于python - 在文件夹层次结构中构建文件菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18198064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com