Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Cách dùng lớp PyQt QTextEdit để tạo một widget cho phép chỉnh sửa
Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng lớp PyQt QTextEdit, một widget mạnh mẽ cho phép người dùng chỉnh sửa và hiển thị cả văn bản thường (plain text) lẫn văn bản có định dạng (rich text). QTextEdit giúp bạn xây dựng các giao diện đa dạng và linh hoạt, từ việc nhập liệu cơ bản đến xử lý văn bản phức tạp, đáp ứng nhu cầu của các ứng dụng với khả năng soạn thảo văn bản phong phú.

Giới thiệu về PyQt QTextEdit
Lớp QLineEdit chỉ cho phép bạn tạo một widget hỗ trợ chỉnh sửa một dòng văn bản. Để nhập nhiều dòng văn bản, bạn cần sử dụng lớp QTextEdit.
Không giống như QLineEdit, QTextEdit hỗ trợ cả văn bản thường và văn bản định dạng. Trên thực tế, bạn sẽ sử dụng widget QTextEdit để chỉnh sửa và hiển thị cả hai loại văn bản này.
Widget QTextEdit hỗ trợ định dạng văn bản phong phú (rich text) bằng cách sử dụng các thẻ theo phong cách HTML hoặc định dạng Markdown. QTextEdit được thiết kế để xử lý các tài liệu lớn và phản hồi nhanh chóng với các thao tác của người dùng.
Bài viết này được đăng tại [free tuts .net]
Ví dụ về PyQt QTextEdit
Dưới đây là ví dụ về cách tạo một widget chỉnh sửa văn bản đa dòng đơn giản bằng cách sử dụng lớp QTextEdit:
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QTextEdit, QFormLayout
class MainWindow(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle('PyQt TextEdit')
self.setMinimumWidth(200)
layout = QFormLayout()
self.setLayout(layout)
text_edit = QTextEdit(self)
layout.addRow(text_edit)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec())
Giải thích cách hoạt động
Tạo widget chỉnh sửa văn bản đa dòng:
text_edit = QTextEdit(self) layout.addRow(text_edit)
Đoạn mã trên tạo một widget QTextEdit để cho phép nhập và chỉnh sửa văn bản đa dòng.
Thiết lập giao diện:
layout = QFormLayout() self.setLayout(layout)
Giao diện của widget chính được thiết lập bằng QFormLayout và QTextEdit được thêm vào thông qua phương thức addRow().
Kết quả:


Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng