当前位置: 首页 > 面试题库 >

从qtextedit获取文本并将其分配给变量

祁博涛
2023-03-14
问题内容

当我尝试从使用PyQt5 Designer创建的qtextedit中获取文本时,出现错误或“
Python停止工作”,并且脚本自动停止。我尝试了多种解决方案,但没有任何效果。我必须将文本从qtextedit分配给变量,以检查进程是否运行。那是PyQt5生成的代码:

from PyQt5 import QtCore, QtGui, QtWidgets
import psutil
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(221, 157)
        MainWindow.setMinimumSize(QtCore.QSize(221, 157))
        MainWindow.setMaximumSize(QtCore.QSize(221, 157))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.cercaprocesso = QtWidgets.QPushButton(self.centralwidget)
        self.cercaprocesso.setGeometry(QtCore.QRect(0, 80, 221, 31))
        font = QtGui.QFont()
        font.setFamily("MS Shell Dlg 2")
        font.setPointSize(10)
        font.setBold(True)
        font.setWeight(75)
        self.cercaprocesso.setFont(font)
        self.cercaprocesso.setObjectName("pushButton")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(0, 0, 221, 40))
        font = QtGui.QFont()
        font.setPointSize(10)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.textbox = QtWidgets.QTextEdit(self.centralwidget)
        self.textbox.setGeometry(QtCore.QRect(30, 40, 161, 31))
        self.textbox.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.textbox.setObjectName("textEdit")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 221, 21))
        self.menubar.setObjectName("menubar")
        self.menucredit = QtWidgets.QMenu(self.menubar)
        self.menucredit.setObjectName("menucredit")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.actionbot_created_by_andrea1980345_inforge_user = QtWidgets.QAction(MainWindow)     
        self.actionbot_created_by_andrea1980345_inforge_user.setObjectName ("actionbot")
        self.menucredit.addAction(self.actionbot_created_by_andrea1980345_inforge_user)
        self.menubar.addAction(self.menucredit.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

此处的按钮代码:

def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "andrea1980345 Bot"))
    self.cercaprocesso.setText(_translate("MainWindow", "Cerca Processo"))
    self.label.setText(_translate("MainWindow", "Inserire il nome del processo"))
    self.menucredit.setTitle(_translate("MainWindow", "Credit"))
    self.actionbot_created_by_andrea1980345_inforge_user.setText(_translate("MainWindow", "bot"))
    self.cercaprocesso.clicked.connect(self.search)

这里的代码用于从文本框中获取文本并分配给变量:

def search(self):
    textboxValue = self.textbox.text()
    for pid in psutil.pids():  # Controlla se il processo è attivo
        listapid = psutil.Process(pid)
        if listapid.name() == textboxValue:
            print('Processo trovato')
    self.textbox.setText("")

结束码:

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

问题答案:

QTextEdit没有任何text()方法,如果要获取必须使用toPlainText()的文本,则要清理文本,最好使用clear()它,因为它使文本更具可读性。

def search(self):
    textboxValue = self.textbox.toPlainText()
    for pid in psutil.pids():  # Controlla se il processo è attivo
        listapid = psutil.Process(pid)
        if listapid.name() == textboxValue:
            print('Processo trovato')
    self.textbox.clear()


 类似资料:
  • 我一直在试图找到一种简单的方法来读取Rust中的变量,但是到目前为止还没有任何运气。Rust Book中的所有示例处理字符串AFAIK,我找不到任何有关整数或浮点数的工作。

  • 问题内容: 我无法从MySQL表的字段中仅将日期分配给php变量。我正在使用 PHP 4 ,我知道如何在PHP 5中做到这一点。 有人可以帮忙,有关以下php代码缺少的内容。 问题答案: 如果只想 显示 日期部分,则可以使用该类: //针对双回声错别字进行了编辑。

  • 问题内容: 在Python中,可以分割字符串并将其分配给变量: 但在Go中似乎无效: 问题: 如何在一个步骤中拆分字符串并分配值? 问题答案: 例如两个步骤 输出: 例如一个步骤 输出:

  • 这是我目前所拥有的,但它不起作用。如何连接所有内容?我认为问题在于逗号。

  • 在Bash脚本中,我想定义一个布尔变量y来存储另一个布尔变量x的求反值。以下脚本, 将变量y设置为1。如何更改y,使其计算结果改为false?

  • 问题内容: 有人可以告诉我使用Selenium Ide从文本中仅提取数字(694575)并将其放入变量中以便进一步使用的命令。这是带有文本的div: 在这种情况下,可能像storeText,storeEval这样的命令应该可以使用,但是带有粘贴的部分对我来说是个谜。 问题答案: 我有解决办法,棘手的1 试试这个1,让我知道它是否对您有用