Cannot resize QPlainTextEdit
Moved
Unsolved
Qt for Python
-
I have the following layout:
Here's how it's implemented:
class Block(QFrame): def __init__(self, parent): super().__init__(parent=parent) self.setObjectName("Block") self.setStyleSheet("QFrame#Block {background-color: rgba(0, 0, 0, 0.1);} " "QWidget#InnerWidget {background-color: rgba(0, 0, 0, 0.1);}") self.main_layout = QVBoxLayout(self) def add_button(self, name): w = QWidget(self, objectName="InnerWidget") l = QHBoxLayout(w) l.addWidget(QLabel(name, parent=w)) l.addWidget(QPushButton(name, parent=w)) self.main_layout.addWidget(w) def add_text_area(self, name): w = QWidget(self, objectName="InnerWidget") l = QVBoxLayout(w) title_widget = QWidget(w) title_layout = QHBoxLayout(title_widget) title_layout.addWidget(QLabel(name, parent=w)) title_layout.addWidget(QLabel(name, parent=w)) l.addWidget(title_widget) text_edit = QPlainTextEdit(parent=w) l.addWidget(text_edit) self.main_layout.addWidget(w) class Column(QWidget): def __init__(self, parent): super().__init__(parent=parent) self.setObjectName("Column") layout = QVBoxLayout(self) layout.setSpacing(20) self.setStyleSheet("background: transparent;") def add_block(self, block): self.layout().addWidget(block) class RootWidget(QFrame): def __init__(self): super().__init__() self.setObjectName("RootWidget") self.setStyleSheet("background-color: rgb(80, 80, 80); color: white;") self.setAutoFillBackground(True) layout = QHBoxLayout(self) self.main_widget = QScrollArea(parent=self) self.columns = QWidget(parent=self.main_widget) self.columns_layout = QHBoxLayout(self.columns) self.column_1 = Column(self.columns) self.column_2 = Column(self.columns) self.column_3 = Column(self.columns) for column in [self.column_1, self.column_2, self.column_3]: for i in range(3): block = Block(column) for j in range(10): block.add_button(str(j)) if i == 1 and j == 9: block.add_text_area("TEST") column.add_block(block) column.layout().addStretch() self.columns_layout.addWidget(column) self.main_widget.setWidget(self.columns) layout.addWidget(self.main_widget)
This is what I end up with:
Problem: I can't resize QPlainTextEdit in any way. How can this be done?
I have tried resize(), setGeometry(), however nothing has worked.
def add_text_area(self, name): w = QWidget(self, objectName="InnerWidget") l = QVBoxLayout(w) title_widget = QWidget(w) title_layout = QHBoxLayout(title_widget) title_layout.addWidget(QLabel(name, parent=w)) title_layout.addWidget(QLabel(name, parent=w)) l.addWidget(title_widget) text_edit = QPlainTextEdit(parent=w) text_edit.resize(100, 1000) # or text_edit.setGeometry(text_edit.geometry().x(), text_edit.geometry.y(), 100, 1000) l.addWidget(text_edit) self.main_layout.addWidget(w)
-
I have the following layout:
Here's how it's implemented:
class Block(QFrame): def __init__(self, parent): super().__init__(parent=parent) self.setObjectName("Block") self.setStyleSheet("QFrame#Block {background-color: rgba(0, 0, 0, 0.1);} " "QWidget#InnerWidget {background-color: rgba(0, 0, 0, 0.1);}") self.main_layout = QVBoxLayout(self) def add_button(self, name): w = QWidget(self, objectName="InnerWidget") l = QHBoxLayout(w) l.addWidget(QLabel(name, parent=w)) l.addWidget(QPushButton(name, parent=w)) self.main_layout.addWidget(w) def add_text_area(self, name): w = QWidget(self, objectName="InnerWidget") l = QVBoxLayout(w) title_widget = QWidget(w) title_layout = QHBoxLayout(title_widget) title_layout.addWidget(QLabel(name, parent=w)) title_layout.addWidget(QLabel(name, parent=w)) l.addWidget(title_widget) text_edit = QPlainTextEdit(parent=w) l.addWidget(text_edit) self.main_layout.addWidget(w) class Column(QWidget): def __init__(self, parent): super().__init__(parent=parent) self.setObjectName("Column") layout = QVBoxLayout(self) layout.setSpacing(20) self.setStyleSheet("background: transparent;") def add_block(self, block): self.layout().addWidget(block) class RootWidget(QFrame): def __init__(self): super().__init__() self.setObjectName("RootWidget") self.setStyleSheet("background-color: rgb(80, 80, 80); color: white;") self.setAutoFillBackground(True) layout = QHBoxLayout(self) self.main_widget = QScrollArea(parent=self) self.columns = QWidget(parent=self.main_widget) self.columns_layout = QHBoxLayout(self.columns) self.column_1 = Column(self.columns) self.column_2 = Column(self.columns) self.column_3 = Column(self.columns) for column in [self.column_1, self.column_2, self.column_3]: for i in range(3): block = Block(column) for j in range(10): block.add_button(str(j)) if i == 1 and j == 9: block.add_text_area("TEST") column.add_block(block) column.layout().addStretch() self.columns_layout.addWidget(column) self.main_widget.setWidget(self.columns) layout.addWidget(self.main_widget)
This is what I end up with:
Problem: I can't resize QPlainTextEdit in any way. How can this be done?
I have tried resize(), setGeometry(), however nothing has worked.
def add_text_area(self, name): w = QWidget(self, objectName="InnerWidget") l = QVBoxLayout(w) title_widget = QWidget(w) title_layout = QHBoxLayout(title_widget) title_layout.addWidget(QLabel(name, parent=w)) title_layout.addWidget(QLabel(name, parent=w)) l.addWidget(title_widget) text_edit = QPlainTextEdit(parent=w) text_edit.resize(100, 1000) # or text_edit.setGeometry(text_edit.geometry().x(), text_edit.geometry.y(), 100, 1000) l.addWidget(text_edit) self.main_layout.addWidget(w)
@Gygabrain
Try to set a minimum height. -
@Gygabrain
Try to set a minimum height. -
S SGaist moved this topic from General and Desktop on