gpt4 book ai didi

python - pyqt : How to use a same function to set text of different qt widget?

转载 作者:太空宇宙 更新时间:2023-11-04 03:36:24 24 4
gpt4 key购买 nike

我是 Qt 和 python 的新手。对于大多数人来说,这可能是一个简单的问题,但我无法在 Google 上找到它。我有一个表单,包含不同组的“路径和按钮”组合。单击每个路径将打开 QFileDialog.getOpenFileName() 对话框,并将 setText 设置为 lineEdit。

我的问题是如何编写这样的函数:

QtCore.QObject.connect(btn1, QtCore.SIGNAL("clicked()"), set_widge_text(lineEdit1))
QtCore.QObject.connect(btn2, QtCore.SIGNAL("clicked()"), set_widge_text(lineEdit2))
QtCore.QObject.connect(btn3, QtCore.SIGNAL("clicked()"), set_widge_text(lineEdit3))

在函数中:

def set_widge_text(self, widget_name)
widget_name.setText("self.fname")

def open_file_dialog(self):
fname = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
'./')
self.fname = fname

有什么办法可以实现吗?我不想只为不同的 lineEdits 编写不同的 set_widge_text() 集,我们将不胜感激。

非常感谢。

最佳答案

使用 lambda 连接信号:

    btn1.clicked.connect(lambda: self.set_file_name(lineEdit1))
btn2.clicked.connect(lambda: self.set_file_name(lineEdit2))
btn3.clicked.connect(lambda: self.set_file_name(lineEdit3))

def set_file_name(self, edit):
edit.setText(self.open_file_dialog())

def open_file_dialog(self):
return QtGui.QFileDialog.getOpenFileName(self, 'Open file', './')

关于python - pyqt : How to use a same function to set text of different qt widget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28831487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com