0

What is wrong in the code? I am new to QtPy6 and trying to make a vritual book with it.

import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QTextBrowser, QFrame, QLineEdit, QPushButton

class Book(QMainWindow):
    def __init__(self):
        super().__init__()

        self.text_browser = QTextBrowser(self)
        self.output_browser = QTextBrowser(self)
        self.frame = QFrame(self)
        self.frame.setFrameShape(QFrame.Box)
        self.frame.setLineWidth(2)

        self.line_edit = QLineEdit(self)
        self.save_button = QPushButton("Save", self)

        self.text_browser.setFrame(self.frame)
        self.setCentralWidget(self.text_browser)

        with open("book.html") as f:
            book_content = f.read()

        self.text_browser.setHtml(book_content)
        self.line_edit.returnPressed.connect(self.insert_text)
        self.save_button.clicked.connect(self.save_file)

    def insert_text(self):
        text = self.line_edit.text()
        self.output_browser.append(text)

    def save_file(self):
        with open("output.txt", "w") as f:
            f.write(self.output_browser.toPlainText())

app = QApplication(sys.argv)
book = Book()
book.show()
sys.exit(app.exec_())

when I run this I get an error showing AttributeError: 'QTextBrowser' object has no attribute 'setFrame'

what am I doing wrong here? is there any alternative for this issue.

0 Answers0