1 回答
TA贡献1830条经验 获得超3个赞
问题很简单:通过执行 setupUi 方法,您正在创建内部小部件,如果第二次运行 setupUi 会发生什么情况?好吧,旧的小部件被删除并创建了新的小部件。在你的情况下,你首先在应用程序的构造函数中调用了 setupUi,并且在 之后再次调用它,在第一次调用时,你建立了连接,然后将其删除,因此连接已断开。解决方案:只需调用安装程序Ui一次。也没有必要调用重译Ui,因为安装Ui已经这样做了。ui = Application(MainWindow)
class Application(Ui_MainWindow):
def __init__(self,
window: QtWidgets.QMainWindow,
driver: WebDriver = None):
self.parent = window
self.driver = driver
self.setupUi(window)
# self.retranslateUi(window) # remove this line
qtRectangle = window.frameGeometry()
# ...
if __name__ == "__main__":
import sys
try:
opts = Options()
opts.headless = os.environ.get("PYDBG", "0") != "1"
driver: WebDriver = WebDriver(options=opts)
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Application(MainWindow)
# ui.setupUi(MainWindow) # remove this line
MainWindow.show()
app.exec_()
except Exception:
print(traceback.format_exc())
finally:
driver.quit()
添加回答
举报