将函数应用于 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))
我想问你如何在 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))