【问题标题】:Python - PyQt QInputDialog.getItem Cancel button problem with app dropsPython - PyQt QInputDialog.getItem 应用程序丢弃的取消按钮问题
【发布时间】:2021-12-17 17:11:36
【问题描述】:

调用 QInputDialog.getItem 后,如果我选择该选项并按 OK,一切正常。如果我按取消,就会出现问题,程序会因此错误而崩溃:

Process finished with exit code -1073740791 (0xC0000409)

调试后这个错误是我没有将数据加载到变量中:

(<class 'UnboundLocalError'>, UnboundLocalError("local variable 'link' referenced before assignment"), <traceback object at 0x000001BC8209DE00>)

如何处理,以便在按下取消后程序继续运行而不会崩溃?

query = "SELECT name FROM datasets"
datasets = cur.execute(query).fetchall()
items = ()
for dataset in datasets:
   items += dataset
item, ok = QInputDialog.getItem(self, "select input dialog", "list of languages", items, 0, False)
if ok and item:
   query = "SELECT name, file FROM datasets"
   datasets = cur.execute(query).fetchall()
   for dataset in datasets:
      if dataset[0] == item:
         link = dataset[1]
         dataset_name = "Meno datasetu: " + str(dataset[0].split("-")[0])

【问题讨论】:

    标签: python pyqt runtime-error


    【解决方案1】:

    在访问之前尝试初始化链接

    link = None
    item, ok = QInputDialog.getItem(self, "select input dialog", "list of languages", items, 0, False)
    if ok and item:
      ...
    

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 2021-10-23
      • 2019-07-27
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      相关资源
      最近更新 更多