繁体   English   中英

Qt - 如何在QVBoxLayout中放置具有左右边距的QTextEdit?

[英]Qt - How to place a QTextEdit with left and right margins in a QVBoxLayout?

如何放置QTextEdit在左,右页边距QVBoxLayout 当然,我可以使用QHBoxLayout ,将QTextEdit置于间距之间的水平布局( addSpacing(40) ),然后只有水平布局可以添加到垂直布局中,但想知道是否有直接的方式这样做。

void QLayout::setContentsMargins ( int left, int top, int right, int bottom );

但这为整个事情设定了一个余地。 如果你只需要QTextEdit上的边距而布局中没有别的东西那么你必须使用你提到的QHBoxLayout方法。 我不知道有任何其他技巧来解决这个问题。

如果只想要QTextEdit的边距而不是QVerticalLayout中的任何其他元素,则可以使用QT样式表。 您只需要为QTextEdit对象命名(如“myMarginsTextEdit”)并设置样式,例如:

QTextEdit#myMarginsTextEdit
{
    margin-left: 40px;
    margin-right: 40px;
}

如果您没有使用QT样式表来设置应用程序的样式,您仍然可以仅使用它来设置该项目的样式。 你可以这样做(想象你的QTextEdit变量是调用“textEditItem”):

textEditItem.setStyleSheet("QTextEdit {margin-left:40px; margin-right:40px}");

另一个选项是在垂直布局中使用内容边距,但随后将其应用于所有元素。

您没有提到您是使用Qt Designer还是在代码中手动执行此操作。

在代码中:QLayout类有一个setContentsMargins属性,您可以使用该属性将左侧和右侧设置为您想要的任何内容。 甚至有两种口味,一种是左,上,右,下作为单独的参数,另一种是采用QMargins对象。

Qt Designer:只需直接设置边距属性即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM