-2

假设我们在一个 .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()无效。

4

1 回答 1

-2

提供一个用于存储文本的变量:

def __init__(self,parent=None):
    self.txt = None

然后在方法中gather_data,将文本存储在该变量中:

def gather_data(self):
    sef.txt = self.ui.input_overall_1.text()

然后在之前sys.exit,打印该值:

r = app.exec()
print(Form.txt)
sys.exit(r)
于 2021-09-14T11:01:11.810 回答