我正在使用pyqt5在桌面应用程序中工作 在打开应用程序或启用功能之前,我需要进行在线检查许可证 做这个的最好方式是什么, 我尝试了QProgressDialog,但客户端似乎可以将其关闭并传递给应用 我还自定义了无框架窗口,但ALT F4关闭了它,并还传递给了应用程序
有什么想法吗?
答案 0 :(得分:0)
我想分享我为这种情况找到的最佳解决方案(可能会有所帮助)
在主窗口中,我创建了一个新标签,我称它为verify 当应用打开时,它应该显示在窗口中间 它显示一条消息:正在验证,请稍候 我也禁用了所有应用程序按钮
现在,当我们启动应用程序时,我将在外部qthread上运行verify函数,如下所示:
# 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()
和verify类应该是这样的:
## 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类中,您应该具有以下功能:
def verify_func(self,i):
if i == 1:
self.ui.verify.hide()
## enable your buttons
通过这种方式,我的代码在很多情况下都可以组织和控制