我的代码:
%gui qt
from PyQt5.QtWidgets import QFileDialog
def gui_fname(dir=None):
"""Select a file via a dialog and return the file name."""
if dir is None: dir ='./'
fname = QFileDialog.getOpenFileName(None, "Select data file...",
dir, filter="All files (*);; SM Files (*.sm)")
return fname[0]
from IPython.display import display
button = widgets.Button(description="Open The File !!")
button.style.button_color = 'yellow'
display(button)
def on_button_clicked(b):
print("Button clicked.")
f=gui_fname()
#import fileplot
#fileplot.load_file(f)
button.on_click(on_button_clicked)
#b1 = Button(description='Open File !!')
#b1.style.button_color = 'yellow'
#b1.on_click(on_button_clicked)
#b1
问题:它在本地 pc python 版本 2.7 os Linux 中运行良好
但是当我尝试在 Azure Jupyter Notebook 中远程实现它时,每次运行代码时内核都会死掉,我无法获得结果。有没有其他方法可以在 ipython 小部件中实现带有 html5 小部件的文件对话框?
我需要什么我需要用户选择他/她的电脑中本地可用的文件。1