qt - 设计师如何创建 Line 小部件?

标签 qt qt4.7

在 Qt Designer 中,您可以拖动“Line”小部件,这将在您的布局中创建一条线。

但是我检查了文档和标题,我没有找到“Line”标题/小部件,那是什么?

最佳答案

在 Qt 5.7 中,Qt Designer 生成的水平线代码(可以使用“Form/View Code...”在菜单中检查)是:

QFrame *line;
line = new QFrame(Form);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);

这将创建您在 Qt Designer 中看到的线条。

当前的答案似乎没有给出可行的解决方案,这里是所有答案的比较(这个解决方案是第一行):

Horizontal lines in Qt

完整代码:

#include <QtWidgets>

int main(int argc, char **argv) 
{
  QApplication app(argc, argv);

  QWidget widget;
  auto layout = new QVBoxLayout;
  widget.setLayout(layout);
  widget.resize(200, 200);

  auto lineA = new QFrame;
  lineA->setFrameShape(QFrame::HLine);
  lineA->setFrameShadow(QFrame::Sunken);
  layout->addWidget(lineA);

  QWidget *lineB = new QWidget;
  lineB->setFixedHeight(2);
  lineB->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
  lineB->setStyleSheet(QString("background-color: #c0c0c0;"));
  layout->addWidget(lineB);

  auto lineC = new QFrame;
  lineC->setFixedHeight(3);
  lineC->setFrameShadow(QFrame::Sunken);
  lineC->setLineWidth(1);
  layout->addWidget(lineC);

  QFrame* lineD = new QFrame;
  lineD->setFrameShape(QFrame::HLine);
  layout->addWidget(lineD);

  widget.show();
  return app.exec();
}

关于qt - 设计师如何创建 Line 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10053839/

相关文章:

python - 如何使用PyQt4点击网页上 'alert'消息中的按钮

c++ - SYSTEM 进程是否可以与非 SYSTEM 进程共享数据?

c++ - .pro 文件中的 RPATH 不起作用

qt - 基于 QObject 的类具有与自身的排队连接

qt - 没有获得 Windows 7 native 外观和感觉

c++ - 重定向 PostgreSQL Qt 驱动程序标准输出/标准错误输出

c++ - Qt 中是否有图形数据结构的默认实现?

c++ - 在 Qt 中使用鼠标事件裁剪 QImage

qt - 如何使用 QGroupBox 代替 QButtonGroup

c++ - 如何使用QTcpSocket(Qt4.7)读取完整数据