PDA

View Full Version : سوال: چطور میشه بعد از اینکه با موس یک کلمه رو highlight کرد اون کلمه رو بدست اورد ودر جایی ذخیره کرد ؟



saleh.hi.62
یک شنبه 13 تیر 1389, 12:00 عصر
چطور میشه بعد از اینکه با موس یک کلمه رو highlight کرد اون کلمه رو بدست اورد ودر جایی ذخیره کرد ؟
عمل highlight هر جایی میتونه باشه مثل آفیس یا پی دی اف ریدر !

حامد مصافی
یک شنبه 13 تیر 1389, 12:58 عصر
كلاس QClipBoard سيگنالي با نام selectionChanged عرضه مي كند، زماني كه در يك محيط قابل تايپ محدوده انتخاب شده (در هر برنامه اي) تغيير كند اين سيگنال ارسال مي شود، تنها كاري كه بايد انجام دهيد اين است كه يك SLOT تعريف كرده و به اين SIGNAL مرتبط كنيد.
نكته : يك نسخه پيش ساخته از QClipBoard در كلاس QApplication با نام clipboard وجود دارد.
نكته 2 : يك عضو static از QApplication جاري با نام qApp در هدر مربوطه وجود دارد.

زحمت تست و تكميل شبه كد زير با شما. :)


#include <QApplication>


void myWidget::selectionChanged()
{
QMessageBox::information(this,
QClipboard::Selection,
"Clipboard selection" );
}

myWidget::myWidget::()
{
connect(QApplication::clipboard(), SIGNAL(selectionChanged()),
this, SLOT(selectionChanged()));
}

saleh.hi.62
یک شنبه 13 تیر 1389, 13:20 عصر
عزیز واقعن ممنون که کمک کردین
اما روم سیاه نتونستم راش بندازم !!!
اگه یک سورس ساده برام انجام بدی بزاری اینجا یه دنیا ممنون میشم :تشویق:

حامد مصافی
یک شنبه 13 تیر 1389, 17:59 عصر
لطفاً فايل ضميمه را ببينيد

saleh.hi.62
یک شنبه 13 تیر 1389, 19:17 عصر
دوست عزیز باز هم تشکر فراوان دارم . اما !

موقعه اجرا این ارور رو داد!

your seystem does not support clipboad selection mode
من روی ویندوز اجرا کردم !
و بر اساس رفرنس خودشون این کار توی ویندوز امکان پذیر نیست ]

Notes for Windows and Mac OS X Users



Windows and Mac OS X do not support the global mouse selection; they only supports the global clipboard, i.e. they only add text to the clipboard when an explicit copy or cut is made.
Windows and Mac OS X does not have the concept of ownership; the clipboard is a fully global resource so all applications are notified of changes.

http://doc.qt.nokia.com/4.6/qclipboard.html

دوست عزیز من به هر شکلی میخوام کلمه رو دریافت کنم از روی متن ! شما راه دیگه ای سراغ دارین که مثل ایستادن روی کلمه با موس و پردازش کلمه !

ممنون :چشمک: