我只是一个初学者,我想知道是否可以在 Mac 上创建一个表单小部件,就像 iTunes 中的信息对话框一样。
我尝试使用:
- QGroupBox:我找不到摆脱框架的方法。
- 创建我自己的小部件:我找不到使用 QVBoxLayout 修复标签和 QLineEdit 小部件之间间距的方法(实际上我不确定我是否理解边距/间距之间的差异)。
- QFormLayout:使用 setrowWrapPolicy::WrapAllRows 后,我找不到减小 QLabel 大小的方法
另外我(还)对 QtDesigner 不太满意,所以我想(暂时)使用它
提前致谢
编辑:程序的一些精度。我在 Mac OS X Mountain Lion 上使用 QtCreator 2.6.1 和 Qt 4.8.1 和 5.0。
编辑2:这是代码。
QWidget 的子类:
MCLineEdit::MCLineEdit(const QString &header)
{
m_lineEdit = new QLineEdit;
m_lineTitle = new QLabel(header);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(m_lineTitle);
layout->addWidget(m_lineEdit);
layout->setSpacing(0);
setLayout(layout);
}
显示小部件
myView::myView(QWidget *parent) :
QWidget(parent)
{
setFixedSize(600, 500);
MCLineEdit *lineEdit1 = new MCLineEdit("Test 1");
MCLineEdit *lineEdit2 = new MCLineEdit("Test 2");
MCLineEdit *lineEdit3 = new MCLineEdit("Test 3");
MCLineEdit *lineEdit4 = new MCLineEdit("Test 4");
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(lineEdit1);
mainLayout->addWidget(lineEdit2);
mainLayout->addWidget(lineEdit3);
mainLayout->addWidget(lineEdit4);
mainLayout->setSpacing(0);
setLayout(mainLayout);
}