我想弄清楚如何在Qt中制作一条水平线。这在Designer中很容易创建,但是我想以编程方式创建一个。我已经做了一些谷歌搜索,并查看了ui文件中的xml,但还没有发现任何问题。
这是ui文件中xml的样子:
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>150</x>
<y>110</y>
<width>118</width>
<height>3</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
水平或垂直线只是设置QFrame
了一些属性的。在C ++中,用于创建行的代码如下所示:
line = new QFrame(w);
line->setObjectName(QString::fromUtf8("line"));
line->setGeometry(QRect(320, 150, 118, 3));
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);
是
setGeometry
并且setFrameShadow
实际上有必要吗?我对Qt还是很陌生,但是我希望框架阴影的样式默认情况下取决于整个Qt UI样式。我正在尝试在这里编写跨平台。@MichaelScheper唯一不需要的电话是
setFrameShape()
和setFrameShadow()
。