2020s1371
چهارشنبه 23 مهر 1393, 14:27 عصر
سلام
با این کد:
int a=5,b=10;
QWidget *wd =new QWidget;
QVBoxLayout *vb=new QVBoxLayout;
for(int i=0;i<a;i++)
{
QHBoxLayout *hb=new QHBoxLayout(this);
hb->setObjectName("hb_"+QString::number(i));
for (int j = 0; j < b; j++)
{
QSlider *sl=new QSlider;
sl->setObjectName("sl_"+QString::number(i)+"_"+QString::number(j));
hb->addWidget(sl);
}
vb->addLayout(hb);
}
//**************************************** محل اضافه شدن کد پایینی
wd->setLayout(vb);
wd->show();
به این نتیجه ی اجرایی میرسم:
124552
حالا میخام سیگنال و اسلات هاش رو طوری بنویسم که هر کدوم از اسلایدر ها بتونه بعدیش رو تغییر بده! یعنی با تغییر اولی بالاسمت چپ ، همه شون عددشون تغییر کنه... با تغییر دومی بالا سمت چپ ، همه بجز اولی تغییر کنن و الخ
حالا چیزی که نوشتم اینه:
for(int i=0;i<a;i++)
{
QSlider *sld;
sld->setObjectName("sl_"+QString::number(i)+"_1");
for (int j = 0; j < b; j++)
{
QSlider *sl;
sl->setObjectName("sl_"+QString::number(i)+"_"+QString::number(j));
QObject::connect(sld,SIGNAL(sliderMoved(int)),sl,S LOT(setValue(int)));
}
}
حالا مشکل اینی که نوشتم چیه که جواب نمیده!
مشکل نوع سیگنال و نوع اسلاتش نیست،بیشتر مشکل طرز نوشتنشه..
(هرچند اینی که نوشتم اولین اسلایدر هر سطر رو به بقیه ی اسلایدر های اون سطر باید وصل کنه)
با این کد:
int a=5,b=10;
QWidget *wd =new QWidget;
QVBoxLayout *vb=new QVBoxLayout;
for(int i=0;i<a;i++)
{
QHBoxLayout *hb=new QHBoxLayout(this);
hb->setObjectName("hb_"+QString::number(i));
for (int j = 0; j < b; j++)
{
QSlider *sl=new QSlider;
sl->setObjectName("sl_"+QString::number(i)+"_"+QString::number(j));
hb->addWidget(sl);
}
vb->addLayout(hb);
}
//**************************************** محل اضافه شدن کد پایینی
wd->setLayout(vb);
wd->show();
به این نتیجه ی اجرایی میرسم:
124552
حالا میخام سیگنال و اسلات هاش رو طوری بنویسم که هر کدوم از اسلایدر ها بتونه بعدیش رو تغییر بده! یعنی با تغییر اولی بالاسمت چپ ، همه شون عددشون تغییر کنه... با تغییر دومی بالا سمت چپ ، همه بجز اولی تغییر کنن و الخ
حالا چیزی که نوشتم اینه:
for(int i=0;i<a;i++)
{
QSlider *sld;
sld->setObjectName("sl_"+QString::number(i)+"_1");
for (int j = 0; j < b; j++)
{
QSlider *sl;
sl->setObjectName("sl_"+QString::number(i)+"_"+QString::number(j));
QObject::connect(sld,SIGNAL(sliderMoved(int)),sl,S LOT(setValue(int)));
}
}
حالا مشکل اینی که نوشتم چیه که جواب نمیده!
مشکل نوع سیگنال و نوع اسلاتش نیست،بیشتر مشکل طرز نوشتنشه..
(هرچند اینی که نوشتم اولین اسلایدر هر سطر رو به بقیه ی اسلایدر های اون سطر باید وصل کنه)