将函数应用于 QtextEdit 或 QPlainTextEdit python pyside2

Apply function to QtextEdit or QPlainTextEdit python pyside2

我想问你如何在 QTextEdit 或 QPlainTextEdit 中打印我的结果, 我从这里和其他一些网站尝试了一些组合,但没有任何效果, 如果有人能帮我修复它,我会很高兴

这是我的代码:

from PySide2 import QtCore, QtWidgets
from PySide2.QtWidgets import QMainWindow, QWidget, QLabel, QLineEdit,QPlainTextEdit, QTextEdit, QMessageBox, QApplication
from PySide2.QtWidgets import QPushButton
from PySide2.QtCore import QSize
#from PySide2.QtGui import *
import sys

class Cam_Ext(QMainWindow):


    def __init__(self, Custom):
        QMainWindow.__init__(self, Custom)

        self.setMinimumSize(QSize(700, 900))
        self.setWindowTitle("Print groupes seletionner")

        ###btn1
        self.btn = QtWidgets.QPushButton('Print groupes' , self)
        self.btn.move(180, 100)
        self.btn.resize(350, 40)
        self.btn.setStyleSheet("background-color: rgb(255, 255, 255); font-family: arial; font-size: 17px; font-weight: bold;")
        self.btn.clicked.connect(self.Renommer)

        self.line = QPlainTextEdit(self)
        self.line.setStyleSheet("font-size: 12px; font-weight: bold; ")
        self.line.move(100, 170)
        self.line.resize(500, 400)
        self.line.setText(self.Renommer)
        #self.line.setPlaceholderText(self.Renommer)


        self.show()
    def Renommer(self):
        # -*- coding: utf-8 -*-
        import PhotoScan
        import os
        doc = PhotoScan.app.document
        pr_name = doc.path
        project_name = os.path.split(pr_name)[-1]
        print(project_name)

        groups = doc.chunk.camera_groups
        # print(groups)
        #x = 0
        seg = "SEG01"
        for group in groups:
            # print(group)
            if group.selected:
                print(project_name, "-",group, "-", seg, ";")
                #x += 1
def main():

    global doc
    doc = PhotoScan.app.document

    global app
    app = QtWidgets.QApplication.instance()
    Custom = app.activeWindow()

    dlg = Cam_Ext(Custom)

PhotoScan.app.addMenuItem("Pp/Print groupes seletionner", main)

我必须使用 lambda 吗?我不知道如何从我的函数打印我的结果 在我的文本 window 中,在追加模式下,我想保留我的文本并在每次单击我的 QPushButton 时在下面添加新内容,对此 window,请帮助我,我需要更改什么? ?

如果有帮助的话,这是我的印刷品:

    2018-08-09 14:29:54 Error: 'PySide2.QtWidgets.QTextEdit.insertPlainText' called with wrong argument types:
2018-08-09 14:29:54   PySide2.QtWidgets.QTextEdit.insertPlainText(PySide2.QtWidgets.QHBoxLayout)
2018-08-09 14:29:54 Supported signatures:
2018-08-09 14:29:54   PySide2.QtWidgets.QTextEdit.insertPlainText(unicode)

您必须使用 appendPlainText() 在循环中添加文本。

class Cam_Ext(QMainWindow):
    def __init__(self, Custom):
        QMainWindow.__init__(self, Custom)
        ...
        self.btn.clicked.connect(self.Renommer)

        self.line = QPlainTextEdit(self)
        self.line.setStyleSheet("font-size: 12px; font-weight: bold; ")
        self.line.move(100, 170)
        self.line.resize(500, 400)
        self.show()

    def Renommer(self):
        ...
        # uncomment if you want to clean the previous text
        # self.line.clear()
        for group in groups:
            # print(group)
            if group.selected:
                self.line.appendPlainText("{}-{}-{};".format(project_name, group, seg))