在启动 pyqt main 之前验证许可证 window
verify license before start pyqt main window
我正在使用 pyqt5 在桌面应用程序中工作
我需要在打开应用程序或启用功能之前在线检查许可证
做这个的最好方式是什么,
我试过 QProgressDialog 但似乎客户端可以关闭它并传递给应用程序
我还自定义了一个无框 window 但 ALT F4 关闭它并传递给应用程序
有什么想法吗?
我想分享我为这个案例找到的最佳解决方案(可能对某些人有帮助)
在主体window中我创建了一个新标签,我将其命名为verify
当应用程序打开时,它应该显示在 window 的中间
它有一条消息:正在验证,请稍候
我还禁用了所有应用程序按钮
现在当我们启动应用程序时,我将 运行 外部 qthread 上的验证函数,像这样:
# verifyClass thread
verifyInstance = verifyClass()
verifyInstance.sig.connect(self.verify_func)
thread = QThread()
self._v_thread = (thread, verifyInstance)
verifyInstance.moveToThread(thread)
thread.started.connect(verifyInstance.verify_func)
thread.start()
验证 class 应该是这样的:
## verifyClass
class verifyClass(QObject):
sig = pyqtSignal(int)
def __init__(self):
super().__init__()
@pyqtSlot()
def verify_func(self):
## your verification code
self.sig.emit(1) ## mean the verification is okay, do it if verification success
并且在 mainWin Class 你应该有这个功能:
def verify_func(self,i):
if i == 1:
self.ui.verify.hide()
## enable your buttons
这样我的代码在很多情况下都是有条理和可控的
我正在使用 pyqt5 在桌面应用程序中工作 我需要在打开应用程序或启用功能之前在线检查许可证 做这个的最好方式是什么, 我试过 QProgressDialog 但似乎客户端可以关闭它并传递给应用程序 我还自定义了一个无框 window 但 ALT F4 关闭它并传递给应用程序
有什么想法吗?
我想分享我为这个案例找到的最佳解决方案(可能对某些人有帮助)
在主体window中我创建了一个新标签,我将其命名为verify 当应用程序打开时,它应该显示在 window 的中间 它有一条消息:正在验证,请稍候 我还禁用了所有应用程序按钮
现在当我们启动应用程序时,我将 运行 外部 qthread 上的验证函数,像这样:
# verifyClass thread
verifyInstance = verifyClass()
verifyInstance.sig.connect(self.verify_func)
thread = QThread()
self._v_thread = (thread, verifyInstance)
verifyInstance.moveToThread(thread)
thread.started.connect(verifyInstance.verify_func)
thread.start()
验证 class 应该是这样的:
## verifyClass
class verifyClass(QObject):
sig = pyqtSignal(int)
def __init__(self):
super().__init__()
@pyqtSlot()
def verify_func(self):
## your verification code
self.sig.emit(1) ## mean the verification is okay, do it if verification success
并且在 mainWin Class 你应该有这个功能:
def verify_func(self,i):
if i == 1:
self.ui.verify.hide()
## enable your buttons
这样我的代码在很多情况下都是有条理和可控的