狄泰软件学院课程总结
文章目录
写出界面解决方法
(1)、绝对定位组件的坐标和大小
(2)、嵌套QBoxLayout
(3)、创建3x2的QGridLayout
出现问题: 放大后,文字后面有大量空白,不够美观
表单: 左边是标签,右边是组件
Widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
};
#endif // WIDGET_H
Widget.cpp
#include "Widget.h"
#include <QLabel>
#include <QLineEdit>
#include <QGridLayout>
#include <QFormLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent, Qt::WindowCloseButtonHint) // 实现的窗口上只有一个关闭按钮
{
QLineEdit* NameEdit = new QLineEdit();
QLineEdit* EmailEdit = new QLineEdit();
QLineEdit* AddressEdit = new QLineEdit();
QFormLayout* layout = new QFormLayout();
layout->addRow("Name:", NameEdit); // 通过字符串可以指定标签,而不用生成一个标签组件
layout->addRow("Email: ", EmailEdit);
layout->addRow("Address: ", AddressEdit);
layout->setRowWrapPolicy(QFormLayout::WrapAllRows);//设置样式(嵌入式常用方式)
layout->setLabelAlignment(Qt::AlignRight); //标签左右对齐
layout->setSpacing(10);
setLayout(layout);
setWindowTitle("Md");
}
Widget::~Widget()
{
}
main.cpp
#include <QtGui/QApplication>
#include "Widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}