找回密码
 立即注册
收起左侧

QtCreator第4章伸缩因子的问题

1
回复
7394
查看
[复制链接]
累计签到:5 天
连续签到:1 天
来源: 2016-9-21 21:54:44 显示全部楼层 |阅读模式
1Qter豆
在mywigdet.cpp中,
downLayout->addWidget(fontComboBox, 1);
    downLayout->addWidget(pushButton, 1);
伸缩因子设为1,这样是说fontComboBox和pushButton的宽度是1:1么?
实际结果还是原来的样子,不是1:1的。怎样才能使fontComboBox和pushButton的宽度是1:1?
Qt5.5.1版本

main.cpp
  1. #include "mywidget.h"
  2. #include <QApplication>

  3. int main(int argc, char *argv[])
  4. {
  5.     QApplication a(argc, argv);
  6.     MyWidget w;
  7.     w.show();

  8.     return a.exec();
  9. }
复制代码
mywidget.cpp
  1. #include "mywidget.h"

  2. #include <QFormLayout>
  3. #include <QLineEdit>
  4. #include <QComboBox>
  5. #include <QSpinBox>
  6. #include <QVBoxLayout>
  7. #include <QHBoxLayout>
  8. #include <QFontComboBox>
  9. #include <QPushButton>

  10. MyWidget::MyWidget(QWidget *parent)
  11.     : QWidget(parent)
  12. {
  13.     QLineEdit *nameLineEdit = new QLineEdit;
  14.     QComboBox ***ComboBox = new QComboBox;
  15.     QSpinBox *ageSpinBox = new QSpinBox;
  16.     QLineEdit *mailLineEdit = new QLineEdit;

  17.     QFormLayout *layout = new QFormLayout;
  18.     layout->addRow(tr("&Name:"), nameLineEdit);
  19.     layout->addRow(tr("&**"), **ComboBox);
  20.     layout->addRow(tr("&Age"), ageSpinBox);
  21.     layout->addRow(tr("&Mail"), mailLineEdit);

  22.     QFontComboBox *fontComboBox = new QFontComboBox;
  23.     QPushButton *pushButton = new QPushButton("Push Button");

  24.     QHBoxLayout *downLayout = new QHBoxLayout;
  25.     downLayout->addWidget(fontComboBox, 1);
  26.     downLayout->addWidget(pushButton, 1);

  27.     QVBoxLayout *mainLayout = new QVBoxLayout;
  28.     mainLayout->addLayout(layout);
  29.     /*添加分隔符,高度设为50*/
  30.     mainLayout->addSpacing(50);
  31.     mainLayout->addLayout(downLayout);

  32.     setLayout(mainLayout);
  33. }
复制代码
mywidget.h
  1. #ifndef MYWIDGET_H
  2. #define MYWIDGET_H

  3. #include <QWidget>

  4. class MyWidget : public QWidget
  5. {
  6.     Q_OBJECT

  7. public:
  8.     MyWidget(QWidget *parent = 0);
  9.     ~MyWidget();
  10. };
复制代码

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-5-18 09:53:26 显示全部楼层
因为你new出来的ComboBox和button都是标准控件,换句话说他们的初始宽度可能就不一样,你拉伸因子设成一样他们还是不会等宽,你要么就把combobox的拉伸因子改小,要么将它resize成button试下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了