Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам? [RSS Feed]

#1 Янв. 7, 2018 22:16:07

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

2 поля: QPlainTextEdit и QTextEdit. В первое поле мы вводим текст с html-разметкой, а во втором смотрим форматирование. Вопрос возник, как прочитать текст в QPlainTextEdit по абзацам, чтобы потом вывести в QTextEdit? Т.е. мне нужны переносы строк.

 # Python 3
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import (QWidget, qApp, QAction, QApplication, QHBoxLayout, QVBoxLayout,
                             QGridLayout, QLabel, QLineEdit, QTextEdit, QPushButton, QComboBox,
                             QCheckBox, QRadioButton, QFrame, QScrollArea, QTabWidget, QSizePolicy,
                             QGroupBox, QFileDialog, QPlainTextEdit)
from PyQt4.QtGui import QIcon, QPixmap, QPalette, QTextCursor
from PyQt4.QtCore import QSize
# ЦВЕТА ПОЛЕЙ
sss_vivod = ("background-color: #456173; color: #f2f2f0; font: 14pt 'Courier New'")
# ГРАФИКА
class Window(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.resize(200, 200) # шир / выс окна
        self.setWindowTitle('Заголовок') # Заголовок
        
        # БЛОК РАЗМЕТКИ
        #grid_os = QGridLayout()
        vbox = QVBoxLayout()
        # --- ---
        self.pole_1 = QTextEdit()
        # ---
        self.pole_2 = QPlainTextEdit()
        # --- ---
        self.tab = QTabWidget()
        self.tab.currentChanged.connect(self.on_tab)
        self.tab.addTab(self.pole_1, 'Читать')
        self.tab.addTab(self.pole_2, 'Править')
        self.tab.setCurrentIndex(1)
        vbox.addWidget(self.tab)
        
        # ---
        self.setLayout(vbox)
    # ЛОГИКА
    
    def on_tab(self):
        tab_index = self.tab.currentIndex()
        if tab_index == 0:
            text = self.pole_2.toPlainText()
            print(text)
            self.pole_1.clear()
            self.pole_1.append('<br>'.join(text))
# КОНЕЦ
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Window()   
    window.show()
    sys.exit(app.exec_())
    
 

Текст для вставки:
————————————————
ьпаш швпы жывап
<b>gfdngn gfds g d;fdg fg</b> gfd g
kmgkmg df sg gs ggsd g
nj gfd gdfg g do dgdo

Отредактировано Kyrym (Янв. 9, 2018 15:00:55)

Офлайн

#2 Янв. 8, 2018 14:41:24

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

 self.pole_1.append(''.join(text))
<br> явно лишний.
Вот только на теги он у вас не реагирует. Проверять лень, праздники, извините.



 import __hello__

Отредактировано delvin-fil (Янв. 8, 2018 14:43:31)

Офлайн

#3 Янв. 8, 2018 15:14:00

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

delvin-fil
<br> явно лишний.
Речь идёт не о <br> (его заменить на то, что нужно, но потом). Тут либо специальный метод какой-то есть, либо надо найти разделитель абзацев (переносов на новую строку) для QPlainTextEdit.

Офлайн

#4 Янв. 8, 2018 15:34:17

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

Kyrym

 self.pole_1.append(text + '\n')
Так не подойдет?



 import __hello__

Офлайн

#5 Янв. 8, 2018 15:56:51

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

delvin-fil
Так не подойдет?
Конечно, не пойдёт. Подобное предложение сродни троллингу…

Офлайн

#6 Янв. 8, 2018 15:59:45

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

Kyrym
сродни троллингу…
RTFM вам в помощь.



 import __hello__

Офлайн

#7 Янв. 9, 2018 12:43:23

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

чет не пойму, вы не знаете как обозначается символ перевода строки? Не пойму что вы хотите, МБ так?

 text = self.pole_2.toPlainText().split('\n')



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Янв. 9, 2018 12:43:43)

Офлайн

#8 Янв. 9, 2018 15:18:18

Kyrym
Зарегистрирован: 2016-12-28
Сообщения: 225
Репутация: +  3  -
Профиль   Отправить e-mail  

PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?

Как обозначается символ переноса строки я знаю, может слэш не в ту сторону ставил, уже не помню. Но что-то не получилось, и тогда мне показалось, что для QPlainText разделитель ‘\n’ не подходит. Ошибся в общем.

Офлайн

  • Начало
  • » GUI
  • » PyQT4 | Text из QPlainTextEdit в QTextEdit по абзацам?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version