View Full Version : فهمیدن نقطه کلیک شده
mohammad0773
چهارشنبه 21 بهمن 1394, 19:48 عصر
سلام.ببخشید چگونه میشه فهمید کاربر چه نقطه ای از پنجره نرم افزار رو کلیک کرده؟
یه سوال دیگه :کلیک راست برروی یک ویدجت درکل چگونه کار میکنه؟چطوری باید طراحیش کرد؟
mohammad0773
دوشنبه 24 اسفند 1394, 05:43 صبح
و اما چطوری میشه نقطه کلیک شده رو فهمید:
1-سربار گزاری تابع QMousePressEvent در هیدر پنچره مورد نظر:
void mousePressEvent(QMouseEvent *m);
2-تعریف تابع بالا:
void MainWindow::mousePressEvent(QMouseEvent *m) { int x=m->x(); int y=m->y(); }
کامبیز اسدزاده
دوشنبه 24 اسفند 1394, 06:11 صبح
سلام.ببخشید چگونه میشه فهمید کاربر چه نقطه ای از پنجره نرم افزار رو کلیک کرده؟
یه سوال دیگه :کلیک راست برروی یک ویدجت درکل چگونه کار میکنه؟چطوری باید طراحیش کرد؟
قبل از هر چیز تحقیق کنید !!!
پاسخ سوال اولتون: http://stackoverflow.com/questions/4349769/getting-mouse-click-location-of-a-label-in-qt
و پاسخ سوال دومتون، در فایل .h تابع رو به این صورت تعریف کنید:
void mousePressEvent(QMouseEvent *event);
و در فایل .cpp بدنه رو اینطور پیاده کنید:
void MainWindow::mousePressEvent(QMouseEvent *event)
{
if (event->button()==Qt::RightButton){
qDebug() << "right button is pressed";
}
}
mohammad0773
دوشنبه 24 اسفند 1394, 06:31 صبح
سلام.راستش از کلیک راست همچین منظوری داشتم:
139600
کامبیز اسدزاده
دوشنبه 24 اسفند 1394, 07:25 صبح
سلام.راستش از کلیک راست همچین منظوری داشتم:
139600
با همین روشی میتونید کلیک شدن دکمه راست ماوس رو تشخیص بدین و در ادامه هر عملی رو بر اساس اون اجرا کنید که میتونه شامل توابع مثلا یک Context Menu باشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.