• 6187阅读
  • 9回复

怎么使QComboBox与上面QLineEdit对齐且长度相等呀?(急求) [复制链接]

上一主题 下一主题
离线dym123_dym
 
只看楼主 倒序阅读 楼主  发表于: 2010-01-07

以下是代码:
//井文件名
   QHBoxLayout   *wellNameHLyt    = new QHBoxLayout;
   QLabel        *wellNameLb = new QLabel(tr("井文件名:"));
   QLineEdit     *wellNameLEdit = new QLineEdit;
   wellNameHLyt->addWidget(wellNameLb);
   wellNameHLyt->addWidget(wellNameLEdit);

  //信息类型
QHBoxLayout   *infoTypeHLyt  = new QHBoxLayout;
   QLabel        *infoTypeLb = new QLabel(tr("信息类型:"));
   QComboBox     *infoTypeCBox = new QComboBox;
   infoTypeCBox->resize(200,140);
   infoTypeCBox->addItem(tr("weapon"));
   infoTypeCBox->addItem(tr("human"));
   infoTypeCBox->addItem(tr("evironment"));
   infoTypeHLyt->addWidget(infoTypeLb);
   infoTypeHLyt->addWidget(infoTypeCBox);
离线dbzhang800

只看该作者 1楼 发表于: 2010-01-07
QFormLayout
离线xinqingfly

只看该作者 2楼 发表于: 2010-01-07
给infoTypeLb设置个最大值infoTypeLb->setMaximumWidth(int);
菜鸟也是鸟
离线dym123_dym
只看该作者 3楼 发表于: 2010-01-07
请具体说说好吗?谢谢啦
离线xinqingfly

只看该作者 4楼 发表于: 2010-01-08
以下是代码:
//井文件名
  QHBoxLayout   *wellNameHLyt    = new QHBoxLayout;
   QLabel        *wellNameLb = new QLabel(tr("井文件名:"));
   QLineEdit     *wellNameLEdit = new QLineEdit;
   wellNameHLyt->addWidget(wellNameLb);
   wellNameHLyt->addWidget(wellNameLEdit);

  //信息类型
QHBoxLayout   *infoTypeHLyt  = new QHBoxLayout;
   QLabel        *infoTypeLb = new QLabel(tr("信息类型:"));
///////
        QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
        sizePolicy.setHorizontalStretch(0);
        sizePolicy.setVerticalStretch(0);
        sizePolicy.setHeightForWidth(infoTypeLb ->sizePolicy().hasHeightForWidth());
        infoTypeLb ->setSizePolicy(sizePolicy);
/////
   QComboBox     *infoTypeCBox = new QComboBox;
   infoTypeCBox->resize(200,140);
   infoTypeCBox->addItem(tr("weapon"));
   infoTypeCBox->addItem(tr("human"));
   infoTypeCBox->addItem(tr("evironment"));
   infoTypeHLyt->addWidget(infoTypeLb);
   infoTypeHLyt->addWidget(infoTypeCBox);
菜鸟也是鸟
离线dbzhang800

只看该作者 5楼 发表于: 2010-01-08
引用第3楼dym123_dym于2010-01-07 17:16发表的  :
请具体说说好吗?谢谢啦


打开 assistant,看
QFormLayout Class Reference
离线benbenmajia

只看该作者 6楼 发表于: 2010-01-08
受教了,呵呵
安然.....
离线hackself
只看该作者 7楼 发表于: 2010-01-08
infoTypeCBox->resize(200,140);  去掉

语句:infoTypeHLyt->addWidget(infoTypeCBox);

改成:infoTypeHLyt->addWidget(infoTypeCBox,1);

试下...........
离线hackself
只看该作者 8楼 发表于: 2010-01-08
你应该用QGridLayout 来布局  那四个部件的
离线dym123_dym
只看该作者 9楼 发表于: 2010-01-10
谢谢楼上两位了,两方法均可用,我试过了。
“用 QHBoxLayout 上下两行 的 对齐信息 就丢了。”这是从哪知道的呀?谢谢!
快速回复
限100 字节
 
上一个 下一个