【发布时间】:2021-11-09 12:56:24
【问题描述】:
假设我们在一个 .py 文件中有一个带有 Buttons 和 LineEdits 的接口。我在另一个代码中有这个代码,它继承了它:
import Inter_Input_Blasting as interf
from PyQt6 import QtCore,QtWidgets,QtGui
from functools import partial
class MainWindow(QtWidgets.QMainWindow):
def on_clicked(self):
print("Button Pushed")
def __init__(self,parent=None):
super(MainWindow, self).__init__(parent)
self.ui = interf.Ui_MainWindow()
self.ui.setupUi(self)
self.ui.calc_button.clicked.connect(MainWindow.on_clicked)
self.ui.input_overall_1.textChanged.connect(MainWindow.gather_data)
def gather_data(self):
return self.ui.input_overall_1.text()
if __name__== "__main__":
import sys
app = interf.QtWidgets.QApplication(sys.argv)
Form = MainWindow()
Form.show()
sys.exit(app.exec())
所以,当我将值放入 lineedit 字段时,我需要将其打印到控制台中。 .textChanged() 方法有效,但 .gather_data() 无效。
【问题讨论】:
-
打印这些数字并不重要,而是存储在变量中以便以后访问它们
-
您的问题令人困惑。首先,访问实例的函数的连接,必须连接到实例,而不是类,所以它是
self.on_clicked和self.gather_data。然后,您说您想将文本打印到控制台,但是您想存储这些值。请尽量让自己清楚,记住如果你想添加细节你也可以edit你的帖子,如果你不知道为什么self改变了结果,请认真研究和研究什么类和实例是,因为这种差异是 OOP 的强制性知识。 -
@musicamante 很抱歉造成误解。实际上,我现在正在研究 python 和 pyqt。这些问题只是为了更好地理解。我也是俄罗斯人,所以可能是英语不好