鱼C论坛

 找回密码
 立即注册
查看: 5318|回复: 6

[已解决]PYQT将某函数执行的结果显示到文本框中遇到问题,不解求教!

[复制链接]
发表于 2016-11-7 21:43:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
PYQT做UI将控制台显示到文本框中遇到如下问题
PYQT5网上资料太少了,我只能自己摸索慢慢学,今天做了个实验,下面代码中 点击“输出文本”按钮,文本框里并不显示函数 ppp()执行的内容,把PPP() 放到 Class范围里也不行,请问如何能将我希望的函数里执行的结果显示到文本框里呢?


self.textEdit.append(ppp()) 这句里将ppp()改成字符串文本内容点击按钮就直接显示文本内容到文本框了,但是如果直接放函数希望现实函数执行记过就不行了,求教大神!


  1. # -*- coding: utf-8 -*-

  2. # Form implementation generated from reading ui file 'n.ui'
  3. #
  4. # Created by: PyQt5 UI code generator 5.6
  5. #
  6. # WARNING! All changes made in this file will be lost!

  7. from PyQt5 import QtCore, QtGui, QtWidgets

  8. class Ui_Dialog(object):


  9.     def __init__(self):
  10.         super(Ui_Dialog,self).__init__()
  11.         #super().__init__()

  12.         #self.setupUi()

  13.         

  14.     def writeshow(self):
  15.         try:
  16.             self.textEdit.append(ppp())
  17.         except:
  18.             print(sys.exc_info())



  19.    
  20.     def setupUi(self, Dialog):
  21.         Dialog.setObjectName("Dialog")
  22.         Dialog.setEnabled(True)
  23.         Dialog.resize(805, 703)
  24.         self.textEdit = QtWidgets.QTextEdit(Dialog)
  25.         self.textEdit.setGeometry(QtCore.QRect(10, 10, 781, 631))
  26.         self.textEdit.setObjectName("textEdit")
  27.         self.pushButton = QtWidgets.QPushButton(Dialog)
  28.         self.pushButton.setGeometry(QtCore.QRect(430, 660, 101, 41))
  29.         self.pushButton.setObjectName("pushButton")
  30.         self.comboBox = QtWidgets.QComboBox(Dialog)
  31.         self.comboBox.setGeometry(QtCore.QRect(540, 660, 161, 41))
  32.         self.comboBox.setObjectName("comboBox")
  33.         self.comboBox.addItem("")
  34.         self.label = QtWidgets.QLabel(Dialog)
  35.         self.label.setGeometry(QtCore.QRect(10, 640, 421, 61))
  36.         font = QtGui.QFont()
  37.         font.setFamily("张海山锐线体2.0")
  38.         font.setPointSize(12)
  39.         self.label.setFont(font)
  40.         self.label.setMouseTracking(False)
  41.         self.label.setAcceptDrops(False)
  42.         self.label.setAutoFillBackground(False)
  43.         self.label.setStyleSheet("color: rgb(255, 0, 127);")
  44.         self.label.setScaledContents(False)
  45.         self.label.setWordWrap(True)
  46.         self.label.setOpenExternalLinks(False)
  47.         self.label.setObjectName("label")
  48.         self.pushButton_2 = QtWidgets.QPushButton(Dialog)
  49.         self.pushButton_2.setGeometry(QtCore.QRect(710, 660, 81, 41))
  50.         self.pushButton_2.setObjectName("pushButton_2")

  51.         self.retranslateUi(Dialog)
  52.         self.pushButton.clicked.connect(self.writeshow)
  53.         QtCore.QMetaObject.connectSlotsByName(Dialog)

  54.         self.pushButton_2.clicked.connect(self.softexit)

  55.     def retranslateUi(self, Dialog):
  56.         _translate = QtCore.QCoreApplication.translate
  57.         Dialog.setWindowTitle(_translate("Dialog", "test"))
  58.         self.pushButton.setText(_translate("Dialog", "输出文本"))
  59.         self.comboBox.setItemText(0, _translate("Dialog", "预留comboBox"))
  60.         self.label.setText(_translate("Dialog", ""))
  61.         self.pushButton_2.setText(_translate("Dialog", "退出"))


  62.     def softexit(self):
  63.         exit()

  64. def mainwindows():
  65.     import sys
  66.     app=QtWidgets.QApplication(sys.argv)
  67.     #windows=QtWidgets.QWidget()
  68.     mainwindow=QtWidgets.QMainWindow()
  69.     new=Ui_Dialog()
  70.     new.setupUi(mainwindow)
  71.     mainwindow.show()
  72.     sys.exit(app.exec_())



  73. def ppp():
  74.     print('哈哈')


  75. if __name__ == "__main__":
  76.     mainwindows()
  77.     #ppp()
复制代码
最佳答案
2016-11-10 12:21:10
本帖最后由 wei_Y 于 2016-12-12 11:17 编辑
crxliy 发表于 2016-11-8 12:38
这个我懂的,可我意思是希望文本框中能显示PPP()函数里运行的结果,比如里面执行了print('哈 ...


def ppp(parent):
      parent.textEdit.setText('哈哈。')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-7 22:19:49 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-8 08:35:32 | 显示全部楼层

额,意思是找两位大神问吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-8 10:05:21 | 显示全部楼层
ppp()
    return 'text'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-8 12:38:20 | 显示全部楼层
wei_Y 发表于 2016-11-8 10:05
ppp()
    return 'text'

这个我懂的,可我意思是希望文本框中能显示PPP()函数里运行的结果,比如里面执行了print('哈哈'),那么文本框里就显示其运行的结果“哈哈”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-8 15:41:44 | 显示全部楼层
学习了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-10 12:21:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 wei_Y 于 2016-12-12 11:17 编辑
crxliy 发表于 2016-11-8 12:38
这个我懂的,可我意思是希望文本框中能显示PPP()函数里运行的结果,比如里面执行了print('哈 ...


def ppp(parent):
      parent.textEdit.setText('哈哈。')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 15:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表