pyqt怎么制作一个简单的四行四列图标界面,最后一列除去第一行的内容为文本,其他内容都是QTextEdit
时间: 2024-09-24 19:19:19 浏览: 38
python3使用pyqt5制作一个超简单浏览器的实例
在PyQt中创建一个简单的四行四列图标界面,你可以使用`QGridLayout`布局管理器和`QPushButton`、`QTextEdit`等控件。下面是一个基础的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QTextEdit
class MainWidget(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
layout = QVBoxLayout() # 主布局
grid_layout = QGridLayout() # 内部网格布局
for i in range(4): # 行数
row = []
for j in range(4): # 列数
if j == 0 and i != 0: # 第一列(除第一行)放文本
text_label = QLabel(f"这是第{i+1}行的文本")
else: # 其他列放QTextEdit
text_edit = QTextEdit()
if i == 0: # 如果在第一行,则显示默认文本
text_edit.setPlainText("这是QTextEdit区域")
if j % 2 == 0: # 控制奇偶列的图标
button = QPushButton('Icon') # 示例图标按钮
else:
button = QPushButton('Text')
row.append(button if j % 2 == 1 else text_edit) # 偶数列是按钮,奇数列是TextEdit
# 将元素添加到网格布局
grid_layout.addWidget(row[j], i, j)
# 每一行结束后添加到主布局中
layout.addLayout(grid_layout)
grid_layout = QGridLayout() # 下一行开始新的网格布局
self.setLayout(layout)
self.setWindowTitle("四行四列图标与TextEdit界面")
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
main_widget = MainWidget()
sys.exit(app.exec_())
```
阅读全文