大佬教程收集整理的这篇文章主要介绍了如何获取combobox.currentText()值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我动态创建了一个组合框,但后来我不知道如何访问它以获取当前文本。
进程完成,退出代码 -1073740791 (0xC0000409)
from form import Ui_Dialog
from PyQt5 import QtCore,QtWidgets
class MainWindow(Ui_Dialog):
def __init__(self):
super(MainWindow).__init__()
def setupUi(self,Dialog):
super(MainWindow,self).setupUi(Dialog)
self.btn_print.clicked.connect(lambda: print_doc())
class Ui_Dialog_comboBox(object):
def __init__(self):
super(MainWindow).__init__()
self.comboBox = QtWidgets.QComboBox(Dialog)
self.comboBox.setGeometry(QtCore.QRect(458,10,151,22))
self.comboBox.setobjectname("comboBox_doctor")
self.comboBox.addItem("")
self.retranslateUi(Dialog)
def retranslateUi(self,Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setwindowtitle(_translate("Dialog","Dialog"))
self.comboBox.setItemText(0,_translate("Dialog","name"))
def print_doc():
name = ui.comboBox.currentText()
print(Name)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
Ui_Dialog_comboBox()
ui = MainWindow()
ui.setupUi(Dialog)
Dialog.show()
sys.exit(app.exec_())
您似乎对 UI 文件的使用方式以及类和实例的工作方式有些困惑。
首先,您应该不要单独将“表单类”子类化,您必须从基本 Qt 小部件类(在本例中为 QDialog)和子类化表单类。
那么,您尝试访问的 comboBox
可能就是您在 Ui_Dialog_combobox
中创建的那个,但是您只是创建了该类的一个实例,而没有将其分配给任何东西(因此,完全没用。
此外,该类中的许多代码都有问题:super()
不完整(而且是错误的,因为它指的是另一个类),而且它还引用了 Dialog
,它不仅不是那个类,但也是一个“碰巧”在其作用域内的变量。
所以,首先,永远尝试模仿 pyuic 生成的文件的行为。实际上,您几乎总是应该忽略它们的内容:您只需导入和使用它们。如果您查看有关 using Designer 的官方指南,您会发现并没有试图以任何方式修改或模仿这些文件。
这是您代码的(可能的)正确版本。
from form import Ui_Dialog
from PyQt5 import QtCore,QtWidgets
class MainWindow(QtWidgets.QDialog,Ui_Dialog):
def __init__(self):
super(MainWindow,self).__init__()
self.setupUi(self)
self.comboBox = QtWidgets.QComboBox(self)
self.comboBox.setGeometry(QtCore.QRect(458,10,151,22))
self.comboBox.addItem("NAME")
self.btn_print.clicked.connect(self.print_doC)
def print_doc(self):
name = self.comboBox.currentText()
print(Name)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
一些进一步的建议:
以上是大佬教程为你收集整理的如何获取combobox.currentText()值全部内容,希望文章能够帮你解决如何获取combobox.currentText()值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。