• 4123阅读
  • 3回复

如何创建动态控件?搜索了找不到答案 [复制链接]

上一主题 下一主题
离线berryz2007
 

只看楼主 倒序阅读 楼主  发表于: 2008-01-24
— 本帖被 XChinux 执行加亮操作(2008-01-24) —

申请一个
int k=10;
QLabel* label = new QLabel(this);

我要申请多个,多少个不确定,怎么写程序呢?
离线landuochong

只看该作者 1楼 发表于: 2008-01-24
定义一个变量,用for循环创建不就可以了
离线foxyz

只看该作者 2楼 发表于: 2008-01-24
最简单的办法!
typedef QVector<QLabel*> labelCollection;
labelCollection myWidget;
for(int i=0;i<MaxCount;i++)
{
    QLable* label;
  label = new QLable();
  mywidget.push_back(label);
}

再写个手工destruct的函数:
void destoryMyWidget()
{
    for(int i=0;i<mywidget.size();i++)
  {
      if(myWidget != NULL)
      {
          delete (myWidget);
      }
  }
}
离线berryz2007

只看该作者 3楼 发表于: 2008-01-24
QVector<QLabel*> label;

    int k=5;
    label.resize(k);

    for (int i=0;i<k;i++)
    {
        label [ i ] = new QLabel(this);
        label [ i ] ->show();
    }

呵呵,我自己也写出来了。
感谢楼上的。
快速回复
限100 字节
 
上一个 下一个