【发布时间】:2021-07-13 02:33:21
【问题描述】:
我想在布局中添加 QTextEdit 小部件并交替对齐
QVBoxLayout *lt = new QVBoxLayout;
for(int i=0;i<5;i++)
{
text1 = new QTextEdit;
text1->setText("Hello world !" + QString::number(i));
text1->setMaximumSize(100,30);
lt->addWidget(text1);
lt->setAlignment(Qt::AlignLeft);
if(i%2)
{
lt->setAlignment(Qt::AlignRight);
}
else
{
lt->setAlignment(Qt::AlignLeft);
}
}
setLayout(lt);
但是,QTextEdits 都是靠左对齐的。
我的问题有解决方案吗?
【问题讨论】:
-
你想在 VBox 中将你的五个小部件布局为(好的,所以我不能在 cmets 中绘制表格)先右后左,还是你想要 文本编辑的内容是右对齐还是左对齐?
-
.. 对于内容,您要调用
text1->setAlignment(Qt::AlignRight),而不是布局上的对齐方式。要将小部件推送到 VBoxLayout 内,您需要在每个 TextEdit 周围使用 QHboxLayout 来进行对齐(或使用 3 列网格)
标签: c++ qt layout alignment qvboxlayout