pyqt5利用界面输入代替命令行输入

我们在在写程序的时候,会有交互输入的情况,例如下面的这个小代码。


def FunctionAlgo():

    name = input("请输入姓名:")
    print(name)

现在我要写一个界面,点击界面按钮就可以执行程序,界面大概如下所示。

from PyQt5 import QtCore, QtGui, QtWidgets
from news_spider.Fenghuang.Fenghuang.gui.example.runing import hello

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(519, 354)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(210, 140, 75, 23))
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "Open"))

        self.pushButton.clicked.connect(self.OpenClick)

    def OpenClick(self):
        hello.FunctionAlgo()



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_())

但是,运行之后“请输入姓名:”这样的输入操作还是出现在了命令行中,我还要返回到命令行中输入相关内容来执行程序,就很不方便。

我想把输入的部分也放置到界面中,我该如何操作呢?

你要在界面弄个文本输入框,提示输入名字就用messbox显示

你写的输入就是再命令行的输入,实现这个功能,需要你自己写个对话框,然后绑定事件,完成输入后,触发主窗口的事件,直接调用输入参数,

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y