简体   繁体   English

Python PyQt5 label 变成全局变量

[英]Python PyQt5 label into global variable

I have Ui_MainWindow class, in this class there is a function setupUI and sendmail function.我有 Ui_MainWindow class,在这个 class 有一个 function setupUIsendmail ZC1C425268E6839AB61D1 In setupUI there are lineEdit and lineEdit_2 .在 setupUI 中有lineEditlineEdit_2 I have to put text of this variables into the another variables in sendmail def and use it in setupUI How can I do this?我必须将此变量的文本放入sendmail def 中的另一个变量中并在setupUI中使用它我该怎么做? This code must send text of that line edits to my gmail.此代码必须将该行编辑的文本发送到我的 gmail。

This is code of sendmail func:这是 sendmail 函数的代码:

class Ui_MainWindow(object):
    myaddr = "my@gmail.com"
    mypass = "my_password"
    toaddr = "your@gmail.com"
    def sendmail(label_2, label_3):
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.ehlo()
        server.starttls()
        server.ehlo()
        server.login(myaddr, mypass)
        server.sendmail(myaddr, toaddr, message)
        server.quit()

And this is setupUI code:这是 setupUI 代码:

def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(470, 332)
    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.warface = QtWidgets.QLabel(self.centralwidget)
    self.warface.setGeometry(QtCore.QRect(160, 0, 171, 41))
    font = QtGui.QFont()
    font.setPointSize(22)
    self.warface.setFont(font)
    self.warface.setObjectName("warface")
    self.radioButton = QtWidgets.QRadioButton(self.centralwidget)
    self.radioButton.setGeometry(QtCore.QRect(330, 80, 101, 17))
    self.radioButton.setObjectName("radioButton")
    self.radioButton_2 = QtWidgets.QRadioButton(self.centralwidget)
    self.radioButton_2.setGeometry(QtCore.QRect(330, 110, 101, 17))
    self.radioButton_2.setObjectName("radioButton_2")
    self.radioButton_3 = QtWidgets.QRadioButton(self.centralwidget)
    self.radioButton_3.setGeometry(QtCore.QRect(330, 140, 101, 17))
    self.radioButton_3.setObjectName("radioButton_3")
    self.pushButton = QtWidgets.QPushButton(self.centralwidget)
    self.pushButton.setGeometry(QtCore.QRect(160, 200, 141, 51))
    font = QtGui.QFont()
    font.setPointSize(9)
    self.pushButton.setFont(font)
    self.pushButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
    self.pushButton.setObjectName("pushButton")
    self.label_2 = QtWidgets.QLabel(self.centralwidget)
    self.label_2.setGeometry(QtCore.QRect(30, 80, 51, 41))
    font = QtGui.QFont()
    font.setPointSize(10)
    self.label_2.setFont(font)
    self.label_2.setObjectName("label_2")
    self.label_3 = QtWidgets.QLabel(self.centralwidget)
    self.label_3.setGeometry(QtCore.QRect(20, 120, 51, 41))
    font = QtGui.QFont()
    font.setPointSize(10)
    self.label_3.setFont(font)
    self.label_3.setObjectName("label_3")
    self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
    self.lineEdit_2.setGeometry(QtCore.QRect(80, 130, 151, 21))
    self.lineEdit_2.setObjectName("lineEdit_2")
    self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
    self.lineEdit_3.setGeometry(QtCore.QRect(80, 90, 151, 21))
    self.lineEdit_3.setObjectName("lineEdit_3")
    MainWindow.setCentralWidget(self.centralwidget)
    self.menubar = QtWidgets.QMenuBar(MainWindow)
    self.menubar.setGeometry(QtCore.QRect(0, 0, 470, 21))
    self.menubar.setObjectName("menubar")
    MainWindow.setMenuBar(self.menubar)
    self.statusbar = QtWidgets.QStatusBar(MainWindow)
    self.statusbar.setObjectName("statusbar")
    MainWindow.setStatusBar(self.statusbar)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)
    self.pushButton.clicked.connect(self.sendmail)

Look at the QLabel.text() function.查看 QLabel.text() function。 You can get the text of a label by using self.label_2.text() and store it in a variable there after myaddr, mypass, toaddr.您可以使用self.label_2.text()获取 label 的文本,并将其存储在 myaddr、mypass、toaddr 之后的变量中。

Or simply define a variable and give it the self object from setupUI() so you can access its QLabels.或者简单地定义一个变量并从setupUI()中给它 self object,这样你就可以访问它的 QLabels。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM