Напишите в латексе на PyQt5 и получите предварительный просмотр - PullRequest
0 голосов
/ 13 февраля 2020

Большое редактирование. Ui:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.14.1
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(841, 481)
        self.horizontalLayout = QtWidgets.QHBoxLayout(Dialog)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.textEdit = QtWidgets.QTextEdit(Dialog)
        self.textEdit.setMinimumSize(QtCore.QSize(0, 200))
        self.textEdit.setObjectName("textEdit")
        self.gridLayout.addWidget(self.textEdit, 0, 0, 1, 1)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setOrientation(QtCore.Qt.Vertical)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.gridLayout.addWidget(self.buttonBox, 0, 1, 1, 1)
        self.textEdit_2 = QtWidgets.QTextEdit(Dialog)
        self.textEdit_2.setObjectName("textEdit_2")
        self.gridLayout.addWidget(self.textEdit_2, 1, 0, 1, 1)
        self.horizontalLayout.addLayout(self.gridLayout)

        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))

Код:

import sys

import matplotlib
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
import untitled
from PyQt5.QtWidgets import QVBoxLayout
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas

class Test(QDialog, untitled.Ui_Dialog):
    def __init__(self):
        super(Test, self).__init__()
        self.setupUi(self)

        self.figure = Figure()
        self.canvas = FigureCanvas(self.figure)

        self.textEdit_2.layout = QVBoxLayout()
        self.textEdit_2.layout.addWidget(self.canvas)
        self.textEdit_2.setLayout(self.textEdit_2.layout)

        self.scroll = QScrollArea(self.textEdit_2)
        self.scroll.setWidget(self.canvas)
        self.textEdit_2.layout.addWidget(self.scroll)


        self.textEdit.textChanged.connect(self.new_q)

    def new_q(self):
        self.figure.clear()
        text = self.figure.suptitle(
            self.textEdit.toPlainText(),
            x=0.0,
            y=1.0,
            horizontalalignment='left',
            verticalalignment='top',
        )
        self.canvas.draw()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = Test()
    main.show()
    app.exec_()

Мне удалось немного продвинуться. Есть ли у вас идеи, как обновлять размер моего курсора каждый раз, когда я звоню

 self.textEdit.textChanged.connect(self.new_q)

В настоящее время он имеет базовый размер c и не обновляет его. Я провел много тестов без результатов, пытаясь поместить его в вызов функции, удаляя макет и другие вещи, но ничего не работает.

И я не понимаю, почему мой нижний кадр не заполнен , Любые идеи? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...