它看起來並不像任何Python的主要GUI庫支持此
- PySide/PyQt的
- wxWidgets的
- PyGTK的
我附加了一種黑客,那種做你想做的事情。
這些按鈕在選擇文件和選擇目錄之間切換......這不是最好的用戶體驗,但它有效嗎?你可能能夠得到類似於其他框架的東西,但我不像PyQT/PySide那樣熟悉它們。這應該也可以在PyQt中工作,如果你喜歡它(出於某種原因)通過PySide。
import sys
from PySide.QtGui import QFileDialog, QApplication, QWidget, QMainWindow, QPushButton, QVBoxLayout, QHBoxLayout
app = QApplication(sys.argv)
win = QMainWindow()
main_layout = QVBoxLayout()
buttons = QHBoxLayout()
main_layout.addLayout(buttons)
def set_directories():
filedialog.setFileMode(QFileDialog.Directory)
def set_files():
filedialog.setFileMode(QFileDialog.AnyFile)
def on_file_selected(file):
print(file)
set_files_btn = QPushButton("File")
set_files_btn.clicked.connect(set_files)
set_dirs_btn = QPushButton("Directory")
set_dirs_btn.clicked.connect(set_directories)
buttons.addWidget(set_files_btn)
buttons.addWidget(set_dirs_btn)
filedialog = QFileDialog()
main_layout.addWidget(filedialog)
filedialog.fileSelected.connect(on_file_selected)
filedialog.finished.connect(app.exit)
win.setCentralWidget(QWidget(win))
win.centralWidget().setLayout(main_layout)
win.show()
app.exec_()