python - PyQt 突然停止显示 QMessage?
问题描述
这段代码昨天运行良好,但是当我今天再次运行这段代码时,它忽略了第一个 if 语句(显示消息的那个)并直接转到 elif 语句。如果 team_name 为 - " "(空)或包含任何特殊字符,它应该显示一条消息。我试图将“”(空)和特殊字符都放在输入字段中。其他一切正常,只有消息没有显示。此外,QMessageBox 模块已经导入。
team_name, ok = QtWidgets.QInputDialog.getText(MainWindow, "Team Name", "Enter Name Of Your Team:")
if ok:
if team_name.isalnum() == False:
msg = QMessageBox()
msg.setWindowTitle("Team Name")
msg.setText("Invalid Team Name")
msg.setInformativeText("Team Name Must Not Be Empty Or Contain Any Special Characters!")
msg.setIcon(QMessageBox.Critical)
msg.buttonClicked.connect(self.new_team)
elif team_name.isalnum():
self.team_name_lbl.setText(str(team_name))
解决方案
代码运行良好,但您忘记执行.QMessageBox()
if ok:
if team_name.isalnum() == False:
msg = QMessageBox()
msg.setWindowTitle("Team Name")
msg.setText("Invalid Team Name")
msg.setInformativeText("Team Name Must Not Be Empty Or Contain Any Special Characters!")
msg.setIcon(QMessageBox.Critical)
msg.buttonClicked.connect(self.new_team)
msg.exec()
elif team_name.isalnum():
print("It works")
推荐阅读
- node.js - 如何在heroku上运行节点画布?
- reactjs - 为什么即使组件的父标签标记为提供者,useContext 在组件中仍返回 null?
- activemq-artemis - Artemis:服务器停止给出错误,因为网络在健康的网络中不健康
- python-3.x - 过滤多边形内的 GeoPandas 数据框,并从数据框中删除不存在的数据框
- django - 如何在 django adminsite 中显示上传的 PDF 文件
- c# - 在 Visual Studio 的 WPF 应用程序中没有看到“发布 > 创建应用程序包”的任何替代选项
- .net - .NET Framework 4.6 SDK 没有 Docker 映像
- php - WordPress 网站上的 PHP 无法仅在登录页面上创建 cookie
- css - 在单词的开头检测@并在reactjs中的单词周围添加一个跨度
- excel - VBA文本框复制字体样式