Sd *_*unk 4 python pyqt5 plotly
我在尝试使用 Dash (绘图)创建仪表板并使用 PyQt5 创建的 GUI 时遇到问题。
我尝试将以下示例代码作为模块并放在代码末尾:
import dash
import dash_core_components as dcc
import dash_html_components as html
def run_dash(data, layout):
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
html.Div(children='''
Dash: A web application framework for Python.
'''),
dcc.Graph(
id='example-graph',
figure={
'data': data,
'layout': layout
}
)
])
app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)
但每次我收到错误can't find '__main__' module in ''
我知道最初,要创建 Dash,需要使用如下所示的主防护:
if __name__ == '__main__':
app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)
但我的主窗口已经有了一个主防护,所以我不知道如何使两者一起工作。作为参考,这是我的 MainWindow 主防护:
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
解决方案是在另一个线程中执行 Dash,在另一个线程中执行它时可能会遇到问题,但使用这个答案你会得到以下结果:
\n\nimport sys\n\nimport threading\n\nfrom PyQt5 import QtWidgets\n\nimport dash\nimport dash_core_components as dcc\nimport dash_html_components as html\n\n\ndef run_dash(data, layout):\n app = dash.Dash()\n\n app.layout = html.Div(children=[\n html.H1(children=\'Hello Dash\'),\n\n html.Div(children=\'\'\'\n Dash: A web application framework for Python.\n \'\'\'),\n\n dcc.Graph(\n id=\'example-graph\',\n figure={\n \'data\': data,\n \'layout\': layout\n })\n ])\n app.run_server(debug=False)\n\n\nclass MainWindow(QtWidgets.QMainWindow):\n pass\n\n\nif __name__ == \'__main__\':\n data = [\n {\'x\': [1, 2, 3], \'y\': [4, 1, 2], \'type\': \'bar\', \'name\': \'SF\'},\n {\'x\': [1, 2, 3], \'y\': [2, 4, 5], \'type\': \'bar\', \'name\': u\'Montr\xc3\xa9al\'},\n ]\n\n layout = {\n \'title\': \'Dash Data Visualization\'\n }\n\n threading.Thread(target=run_dash, args=(data, layout), daemon=True).start()\n app = QtWidgets.QApplication(sys.argv)\n mainWin = MainWindow()\n mainWin.show()\n sys.exit(app.exec_())\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
7490 次 |
| 最近记录: |