如何从 qcombobox 获取 itemdata?

2023-12-01

当我单击 QtWidgets.QPushButton 以显示 QtWidgets.QComboBox 中的 itemData 时,出现问题。我用以下代码填充我的组合框:

self.comboBox.addItem("Sandro",1)
self.comboBox.addItem("Daniel",2)
self.comboBox.addItem("Pedro",3)

它填充了 QtWidgets.QComboBox,但是当我设置 QtWidgets.QPushButton 时出现问题。我在 setupUi 中添加了这个:

self.pushButton.clicked.connect(self.showId)

最后开发了showId函数:

id_us = self.comboBox.itemData(self.comboBox.currentIndex())
print('VAL ',id_us)

当我单击按钮时,窗口关闭,出了什么问题? 我分享我的accessForm.py的所有代码:

# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(598, 245)
        self.groupBox = QtWidgets.QGroupBox(Form)
        self.groupBox.setGeometry(QtCore.QRect(10, 20, 541, 201))
        self.groupBox.setObjectName("groupBox")
        self.pushButton = QtWidgets.QPushButton(self.groupBox)
        self.pushButton.setGeometry(QtCore.QRect(50, 150, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(self.groupBox)
        self.label.setGeometry(QtCore.QRect(40, 30, 47, 13))
        self.label.setObjectName("label")
        self.comboBox = QtWidgets.QComboBox(self.groupBox)
        self.comboBox.setGeometry(QtCore.QRect(110, 30, 111, 22))
        self.comboBox.setObjectName("comboBox")
        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
        self.fillCombo()
        self.pushButton.clicked.connect(self.showId)
    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.groupBox.setTitle(_translate("Form", "Datos"))
        self.pushButton.setText(_translate("Form", "Inicio"))
        self.label.setText(_translate("Form", "TextLabel"))
    def showId(self):
        id_us = self.comboBox.itemData(self.comboBox.currentIndex()).toPyObject()
        print('VAL ',id_us)
    def fillCombo(self):
        self.comboBox.addItem("Sandro",1)
        self.comboBox.addItem("Daniel",2)
        self.comboBox.addItem("Pedro",3)
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())

提前致谢。


在我看来,您正在使用过时的教程,在 PyQt4 中,您必须使用以下命令将 PyQt 对象转换为 python 本机对象toPyObject()方法,但在 PyQt5 中不再需要:

def showId(self):
    id_us = self.comboBox.itemData(self.comboBox.currentIndex()) # .toPyObject()
    print('VAL ',id_us)

建议使用终端或 CMD 来获取错误消息,因为 IDE 在处理 PyQt 错误消息时存在问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 qcombobox 获取 itemdata? 的相关文章

  • 使用ideone时如何传入命令行参数?

    我正在使用 ideone 在线解释器 http ideone com http ideone com 来测试一些 C 和 Python 程序 如何指定命令行参数而不是使用 STDIN 输入 看起来你不能 但是快速破解应该做的伎俩 stati
  • pandas read_csv 之前预处理数据文件

    我使用 SAP 的数据输出 但它既不是 CSV 因为它不引用包含其分隔符的字符串 也不是固定宽度 因为它具有多字节字符 它是一种 固定宽度 字符 为了将其放入 pandas 我当前读取文件 获取分隔符位置 对分隔符周围的每一行进行切片 然后
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 在Python中将大文件(25k条目)加载到dict中很慢?

    我有一个大约有 25000 行的文件 它是 s19 格式的文件 每行就像 S214780010 00802000000010000000000A508CC78C 像这样的事情怎么样 我做了一个测试文件 只有一行S21478001000802
  • 无法使用Python请求会话模块登录网站

    我刚刚开始进行网络抓取 对于我的第一个项目 我尝试使用 requests Session 登录 artofproblemsolving com 并访问另一个用户的帐户 这是我的代码 import requests LOGIN URL htt
  • argparse 不检查位置参数

    我正在创建一个脚本 它使用 argparse 接受位置参数和可选参数 我已经阅读了 Doug 的教程和 python 文档 但找不到答案 parser argparse ArgumentParser description script t
  • Pandas 中每列的曲线拟合 + 外推值

    我有一个包含大约 300 列的数据集 每一列都与深度相关 Pandas DataFrame 的简化版本看起来像这样 import matplotlib pyplot as plt import numpy as np import pand
  • 使用 Python-VLC 的 PyInstaller:无属性“media_player_new”错误

    我使用 Python VLC 创建视频播放器 并使用 PyInstaller 在 Windows 10 计算机上生成可执行文件 最初 它给了我错误 Import Error Failed to load dynlib dll libvlc
  • Python 3 - 如何将 tkinter 进度条与 bat 文件一起使用?

    到目前为止 蝙蝠运行了 但进度条没有运行 我如何将两者联系起来 这是输出的图像 https i stack imgur com ytZ6F jpg https i stack imgur com ytZ6F jpg from tkinter
  • “KMeans”对象没有属性“k”

    我使用 Yellowbrick 包绘制数据集的肘部曲线 以使用 KMeans 作为模型找到数据集的最佳簇数 我正在使用 Scikit learn KMeans 和 Yellowbrick kelbowvisualizer 函数 生成了肘部曲
  • Python GTK3 Treeview 向上或向下移动选择

    如何在树视图中向上或向下移动所选内容 我的想法是 我可以使用向上和向下按钮将选择向上移动一行或向下移动一行 我的 Treeview 使用 ListStore 不确定这是否重要 首先 我将使用我熟悉的 C 代码 如果您在将其翻译为 Pytho
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • JSONDecodeError:额外数据:Python [重复]

    这个问题在这里已经有答案了 我使用以下代码从文件加载 json file file name obj list with open file as f for json obj in f obj list append loads json
  • 将函数按元素应用于两个 DataFrame

    如何应用函数z ij f x ij y ij 来自数据框X and Y相同大小并将结果保存到 DataFrameZ 这取决于你有什么样的功能 很多功能已经被矢量化为数据框 例如 等等 所以对于这些功能 你可以简单地做Z X Y or Z X
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if
  • 如何在不同的目录中执行python脚本?

    Solved对于可能觉得这有帮助的人 请参阅下面我的答案 我有两个脚本 a py 和 b py 在我当前的目录 C Users MyName Desktop MAIN 中 我运行 gt python a py 第一个脚本 a py 在我当前
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp

随机推荐

  • 采用材料设计的自定义搜索栏

    我在布局中有一个搜索栏 用于自定义对话框首选项 我更改了 styles xml 以使用新的材质设计 它之所以有效 是因为它更改了我的设置的文本和复选框 但我无法将颜色应用到我的搜索栏 仅当我在活动中放置搜索栏时它才有效 这意味着我必须在自定
  • 将每小时的动物园时间序列输入函数 stl()

    在你问之前 是的 我需要显示这么多数据 stl 需要两个周期的数据 在本例中 一个周期有 24 个值 因此 stl 至少需要 48 个值 另外 来自 stl 帮助 这应该是 ts 类的对象 其频率大于 1 我正在升级一些旧的计算 以便我的数
  • 如何在 Angular 中将输入值作为参数传递给路由器

    我相信我想做的事情是微不足道的 但我尝试了很多不同的事情 但无法弄清楚 我有两个组件 SearchComponent and DetailsComponent显示搜索结果 路线模块 const routes Routes path comp
  • 后台工作进程还是线程?

    我有一个 Winform 应用程序 它在网格视图中列出了一批发票 用户选择批次并单击 生成发票 按钮 该过程大约需要 4 5 分钟 当它运行时 我将有一个选框进度条 并且想禁用所有按钮 我应该使用后台工作进程还是创建一个新线程来运行此任务
  • 使用具有特定标识的应用程序池运行 ASP.net 项目会产生“(403) Forbidden”

    尝试从 Visual Studio 启动 ASP net 项目时收到此错误消息 它不运行 Unable to start debugging on the web server The remote server returned an e
  • 检测android中启动了哪个应用程序

    如何检测用户在我的应用程序中启动了哪个应用程序 即当用户启动 Whatsapp 时 即使我的应用程序没有在前台或后台运行 我的应用程序也应该收到通知 远足信使通过无障碍服务实现了相同的功能 我怎么解决这个问题 提前致谢 根据运行应用程序的
  • 为什么 Cocoa-Touch 类 ivars 具有前导下划线字符?

    这次会议有什么目的吗 有一些开发人员使用以下约定通过以下方法 隐藏 ivars interface private NSString myString property nonatomic retain NSString myString
  • 如何在 Unity 检查器中根据其他变量值隐藏变量

    我如何根据统一检查器中的其他变量值隐藏变量 基本上想象一下 如果我有一个名为 CanSprint 的布尔值和一个名为 SprintSpeed 的浮点数 那么我想这样做 以便当布尔值为真时 浮点数显示 但当布尔值为假时 浮点数隐藏 这只是为了
  • java.lang.IllegalStateException:尝试重新打开已经关闭的对象

    我试图弄清楚为什么我偶尔会收到 IllegalStateException 我找不到任何好的示例来展示如何使用线程加载列表来查询 SQLite 数据库 我在下面包含了我的代码 大多数时候它工作正常 但偶尔我会收到 IllegalStateE
  • 如何在 jQuery UI 自动完成中实现“mustMatch”和“selectFirst”?

    我最近从 制作的插件中迁移了一些自动完成插件贝斯斯坦斯 to the jQuery UI 自动完成 如何仅使用回调和其他选项来实现 mustMatch 和 selectFirst 而不修改核心自动完成代码本身 我想我解决了这两个功能 为了让
  • 用普通的 ascii 字符替换重音字符[重复]

    这个问题在这里已经有答案了 我需要将姓氏列表转换为字母数字用户名 但不幸的是其中一些包含非 ASCII 字符 Hern ndez Querman s Miguel ez 现在 一种方法是使用正则表达式删除任何非字母数字字符 例如a repl
  • 计算 R 中单词出现的次数

    是否有一个函数可以计算特定关键字在数据集中包含的次数 例如 如果dataset lt c corn cornmeal corn on the cob meal 计数将为 3 我们暂时假设您想要包含 corn 的元素的数量 length gr
  • 如何在 C# 中调用 Azure Rest API

    我是 C 世界的新手 我有一个项目 需要从 700 多个订阅中收集所有区域的 Azure 计算使用配额 我已经使用 PowerShell Get AzVMUsage 轻松完成了此操作 我必须使用 C 来完成 我想我需要使用 Rest API
  • Rmarkdown - Rmarkdown 中的 python 内联代码

    我正在将 Rmarkdown 与 python 一起使用 相当于什么Rpython 的内联代码 例如 在https rmarkdown rstudio com lesson 4 html我可以 r x 显示文本中 x 的值 但如果我这样做
  • EntityState.Deleted 不起作用,Remove(entity) 起作用吗?

    当我尝试读取记录 然后在同一事务中删除这些记录时 我一直在与 EF 作斗争 我最初使用 EntityState Deleted 方法 这会给出错误 操作失败 无法更改关系 因为一个或多个外键属性不可为空 当关系发生更改时 相关的外键属性将设
  • Java 8 Date API - 获取一个月中的总周数

    我有一个 Kotlin 函数来获取一个月中的总周数 Code fun getTotalWeeksInMonth instant Instant Int val calendar Calendar getInstance calendar t
  • 如何在 Visual Studio 中调试 Windows 服务?

    是否可以在 Visual Studio 中调试 Windows 服务 我用过类似的代码 System Diagnostics Debugger Break 但它给出了一些代码错误 例如 我收到两个事件错误 eventID 4096 VsJI
  • 为什么重新分配 Object.prototype 不起作用?

    为什么这不起作用 this one works as I expected when objSayHello Object prototype objSayHello function alert Hello from OBJECT pro
  • mysql 中的逗号分隔值和通配符

    我的数据库中有一个值 其中包含逗号分隔的数据 例如 11 223 343 123 我想获取数据 如果它与某个数字匹配 在本例中为数字 223 WHERE wp postmeta meta value IN 223 223 223 223 我
  • 如何从 qcombobox 获取 itemdata?

    当我单击 QtWidgets QPushButton 以显示 QtWidgets QComboBox 中的 itemData 时 出现问题 我用以下代码填充我的组合框 self comboBox addItem Sandro 1 self