问题1:
刚准备玩玩就遇到这个问题
This application failed to start because no Qt platform plugin could be initialized.
解决办法:在代码中加入以下代码
import os
import PySide2
dirname = os.path.dirname(PySide2.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
以下是为什么要这样做的原因:
参考博客内容:
https://blog.csdn.net/ouening/article/details/81093697
问题2:如何使用QT designer制作好ui,并用python调用?
然后就遇到了另一个问题,是直接动态导入ui,还是使用命令导出为py格式。
经过查询资料后总结,应该使用动态方法导入ui,但是Py的格式,用来提取指令名称还是很方便的。
动态导入的代码:
class Stats():
def __init__(self):
self.ui = QUiLoader().load('my.ui') # my.ui按照路径格式写入自己的ui所在位置
self.ui.Button_excel.clicked.connect(self.ButtonFunc)# Button_excel是ui对象里自定义的名称,绑定单击后的功能
def ButtonFunc(self):
print('test OK')
app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec_()
my.ui转换成py格式代码,在ui文件存放的位置,打开cmd,使用一下代码:
pyside2-uic my.ui > my.py