PDA

View Full Version : کار با QListView



modirmasool
یک شنبه 05 دی 1389, 22:34 عصر
دوستان سلام
من یکمی جستجو توی تالار کردم نتونستم نحوه اضافه کردن یه رشته به لیست رو بفهمم. میشه یکم در موردش توضیح بدین؟ مثلا یه دکمه باشه وقتی کلیک کردیم، به لیستمون یه چیزی اضافه بشه:لبخند:

ممنون

sgb110
یک شنبه 05 دی 1389, 23:01 عصر
void MainWindow::on_pushButton_clicked(){ui->listWidget->insertItem(0,ui->lineEdit->text());}

modirmasool
یک شنبه 05 دی 1389, 23:14 عصر
خیلی ممنون:تشویق:

میشه بگین فرق QListView با listWidget چیه؟

با تشکر

حامد مصافی
یک شنبه 05 دی 1389, 23:32 عصر
QListView برای برنامه نویسی برای حالت Model/View کاربرد دارد، اما QListWidget بر پایه Item هاست.

modirmasool
دوشنبه 06 دی 1389, 09:32 صبح
QListView برای برنامه نویسی برای حالت Model/View کاربرد دارد، اما QListWidget بر پایه Item هاست.

حامد جان زیر دیپلو بگو:لبخند: من که چیزی متوجه نشدم!:خجالت:

modirmasool
سه شنبه 07 دی 1389, 21:58 عصر
دوستان من برای رویداد کلیک بر روی آیتم های لیست روال زیر رو ساختم


void MainWindow::on_list1_clicked(QModelIndex index)
{

}


حالا چطور میتونم ایندکس رو به دست بیارم؟ برنامه بهم میگه که QModelIndex تعریف نشده!

اگه یه نمونه برنامه برای کارهای ساده روی لیست باکس ها معرفی کنین خیلی ممنون میشم.:قلب:

حامد مصافی
سه شنبه 07 دی 1389, 23:22 عصر
دوست عزيزم، هنوز كه از QlistView استفاده مي‌كني.
تبديلش كن به QListWidget.

در جواب سوال قبليت بايد عرض كنم حالت model/view به حالتي گفته مي‌شود كه اطلاعات در يك model نگهداري مي‌شود و اطلاعات در view نمايش داده مي‌شود (كه view مي‌تواند بيش از يكي باشد)

modirmasool
سه شنبه 07 دی 1389, 23:24 عصر
ممنون . منظورم همون QListWidget بود!:لبخند:

من میخوام نحوه پی بردن به اینکه کدوم ایندکس انتخاب شده و همچنین به دست آوردن اون ایندکس رو یادبگیرم! ممنون میشم راهنماییم کنین.
با تشکر

حامد مصافی
سه شنبه 07 دی 1389, 23:38 عصر
اگر از QListWidget استفاده كنيد سيگنال زير از آن قابل دريافت خوهد بود؛ كه به وضوح آيتم جاري را پاس مي دهد.

void itemClicked (http://doc.trolltech.com/latest/qlistwidget.html#itemClicked) ( QListWidgetItem * item )همچنين تابع currentRow شي QListWidget شماره سطر جاري را بر مي‌گرداند.


براي اطلاعات بيشتر ببينيد:
http://doc.trolltech.com/latest/qlistwidget.html#itemClicked

modirmasool
چهارشنبه 08 دی 1389, 09:04 صبح
ممنون میشم راهنماییم کنین که کجا باید اون خط رو بذارم!:لبخند:

دوستان اگه یه نمونه برنامه ساده بذارین خیلی عالی میشه.:خجالت:

mahak006
چهارشنبه 07 فروردین 1392, 02:56 صبح
با سلام . من از QListWidget استفاده می کنم و نیاز دارم تا اندیس آیتمی که اتنخاب شده ، به دست بیارم .
پست های قدیمی این تاپیکو خوندم . ولی سایتی که معرفی کردن ، نمیاد . اگه ممکنه کسی تو این زمینه بهم کمک کنه .
در واقع می خوام با سیگنال دبل کلیک روی آیتمی خاص ، اندیس و مقدار اون آیتم رو داشته باشم .

mahak006
چهارشنبه 07 فروردین 1392, 23:01 عصر
دوباره سلام . دیدم کسی به سوالم جواب نداد ، رفتم چن تا سایت فرنگی :بامزه: رو دیدم و در نهایت به جواب رسیدم . بره دوستان برنامه نویس هم می ذارم تا اگه به این مشکل بر خوردن ، راهشو راحت تر از من پیدا کنن .

ui->listWidget->currentIndex();

این تابع یه اندیس برمی گردونه که row() و column() داره . اگه لیستتون از یه نوع آیتم تشکیل شده ( چند تا ستون نداره ) با row() می تونید اندیس رو داشته باشید .

ui->listWidget->currentItem()

این تابع هم آیتم رو می ده بهمون .
موفق باشید .