• 4868阅读
  • 2回复

[提问]帮忙看一下,那qvbox我用了,但没效果 [复制链接]

上一主题 下一主题
离线qq736352073
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-09
#ifndef SHOWPUSH_H
#define SHOWPUSH_H
#include<qlabel.h>
#include<qpushbutton.h>
#include<qvbox.h>
#include<qhbox.h>
class ShowPush:public QWidget
{
Q_OBJECT
public:
  ShowPush(QWidget*parent=0,const char*name=0);
public slots:
   //定义slot函数setlabelText(),常当指定连接的Signal发生时会呼叫此函数
  void setlabelText();
private:
  QVBox*vbox;
  QLabel*label;
  QPushButton*btn;
  QHBox*hbox;
  int i;   //用于记录用户按了几次按钮
};
#endif



#include"showpush.h"
ShowPush::ShowPush(QWidget*parent,const char*name):QWidget(parent,name)
{
  i=0;
  vbox=new QVBox();
  vbox->setAlignment(AlignCenter);
  vbox->setGeometry(0,0,300,300);
  label=new QLabel("Hello! Qt!",this,"label");
  //label->setAlignment(AlignCenter);
  label->setGeometry(45,20,250,30);
  btn=new QPushButton("Push me",this,"btn");
  btn->setGeometry(70,70,100,30);
  hbox=new QHBox(vbox);
  hbox->setGeometry(300,200,45,50);
  connect(btn,SIGNAL(clicked()),SLOT(setlabelText()));
  setFocusProxy(btn);
}
  void ShowPush::setlabelText()
{
  i=(i+1)%2;
  if(i)  label->setText("You push the button!");
  else   label->setText("Hello!Qt!");
}


#include <qapplication.h>
#include "showpush.h"
#include <qvbox.h>
int main(int argc,char**argv)
{
  QApplication app(argc,argv);
  //QVBox*vbox=new QVBox();
  ShowPush wm;
  wm.setGeometry(100,100,350,150);
  app.setMainWidget(&wm);
  wm.show();
  return app.exec();
}

那按钮就不能垂直放呢?求解释

离线roywillow

只看该作者 1楼 发表于: 2011-04-09
话说qvbox是啥啊……
没有看到box被加入窗口,也没看到label之类的组件被加入box似乎……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线bmy001
只看该作者 2楼 发表于: 2011-04-09
qvbox,是盒装容器, 我在qt2.3.10中用过,在qt4李不是有比qvbox好用很多倍的Layout吗?
我只是一个高一的学生,如有弱智问题,请大家谅解。
快速回复
限100 字节
 
上一个 下一个