Qt C ++ থেকে লঞ্চার কার্যকারিতা অ্যাক্সেসের জন্য বর্তমানে নির্দিষ্ট গ্রন্থাগার নেই। এখানে একটি লাইব্রেরি লাইব্রেরি আছে তবে এটি প্রচুর গ্লিব ওরিয়েন্টেড তাই Qt- এর তুলনায় অপেক্ষাকৃত অসমর্থিত। অন্য উত্তরে উল্লিখিত হিসাবে, লঞ্চারের সাথে সংহত করার সবচেয়ে সুবিধাজনক উপায় হ'ল নিম্ন স্তরের ডিবিএস এপিআই ব্যবহার করা ।
লঞ্চারের সাথে কীভাবে সংহত করা যায় তার মূল ধারণাটি হ'ল আপনি একটি অ্যাপ্লিকেশন আইডি এবং বৈশিষ্ট্যগুলির সেট সহ লঞ্চগুলিতে একটি সংকেত প্রেরণ করেন। অ্যাপ্লিকেশন আইডি হ'ল ডেস্কটপ ফাইলের ফাইলের নাম, সাধারণত এতে সঞ্চিত থাকে /usr/share/applications
:
//create the signal
QDBusMessage signal = QDBusMessage::createSignal("/",
"com.canonical.Unity.LauncherEntry", "Update");
//set the application ID
signal << "application://firefox.desktop";
//set the properties
QVariantMap properties;
...
signal << properties;
//send the signal
QDBusConnection::sessionBus().send(signal);
বিপরীত
কাউন্টারটি সেট করতে, আপনাকে গুণাগুলি দৃশ্যমান এমন বৈশিষ্ট্যগুলি সেট করতে হবে এবং এটি পছন্দসই পূর্ণসংখ্যার মান প্রদান করতে হবে:
qint64 counter_value = 1;
properties["count-visible"] = true; //set the count to visible
properties["count"] = counter_value; //set the counter value
অগ্রগতি বার
অগ্রগতি বারটি সেট করতে, আপনাকে এমন বৈশিষ্ট্যগুলি নির্ধারণ করতে হবে যাতে অগ্রগতি দৃশ্যমান হয় এবং এটি পছন্দসই দ্বিগুণ মান দেয়:
double progress_value = 0.5;
properties["progress-visible"] = true; //set the progress bar to visible
properties["progress"] = progress_value; //set the progress value
দ্রুত তালিকা
দ্রুত তালিকাটি dbusmenu Qt গ্রন্থাগার ব্যবহার করে সেট করা যেতে পারে। আপনাকে হেডার ফাইলটি অন্তর্ভুক্ত করতে হবে:
#include <dbusmenuexporter.h>
দ্রুত তালিকাটি QMenu
Qt এ মেনু হিসাবে তৈরি করা হয়েছে। এই মেনুটি dbusmenu ব্যবহার করে একটি DBusMenuExporter
অবজেক্ট ব্যবহার করে 'রফতানি' হয় । রফতানি করার সময় আপনি এই অবজেক্টটিকে একটি অনন্য পথ দিয়ে যান এবং তারপরে কোন তালিকার তালিকায় কোন মেনুটি প্রদর্শন করতে হবে তা প্রবর্তক আইটেমটি জানানোর জন্য সেই পথটি উল্লেখ করুন।
আপনার মূল উইন্ডো শ্রেণির ঘোষণায়, নিম্নলিখিত উদাহরণের ভেরিয়েবলগুলি যুক্ত করুন:
QMenu *quicklist;
DBusMenuExporter *quicklist_exporter;
তারপরে, কনস্ট্রাক্টর ফাংশনে:
quicklist = new QMenu(this);
//exports the menu over dbus using the object: /com/me/myapp/quicklist
quicklist_exporter = new DBusMenuExporter("/com/me/myapp/quicklist", quicklist);
মেনুতে আইটেমগুলি যুক্ত করতে, [QAction] যুক্ত করতে মেনুটির [addAction] (HTTP: //qt-project.org/doc/qt-5.0/qtwidgets/qmenu.html#addAction) পদ্ধতিটি ব্যবহার করুন /qt-project.org/doc/qt-5.0/qtwidgets/qaction.html) অবজেক্ট।
লঞ্চার আইকনটির কুইকলিস্ট সেট করতে, সিগন্যালের 'কুইকলিস্ট' সম্পত্তি সেট করুন:
properties["quicklist"] = "/com/me/myapp/quicklist";
প্রকল্প ফাইল কনফিগার করা হচ্ছে
আপনি dbus, সমর্থন যোগ করার জন্য .pro ফাইল কনফিগার করতে হবে: QT += dbus
। কুইকলিস্ট সমর্থন সহ নির্মাণের জন্য, আপনার dbusmenu-qt বিকাশ গ্রন্থাগার ( libdbusmenu*dev
) ইনস্টল করা প্রয়োজন। এরপরে আপনি dbusmenu লাইব্রেরি অন্তর্ভুক্ত করার জন্য প্রকল্প ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করতে পারেন:
#import the dbusmenu-qt library for quicklists
greaterThan(QT_MAJOR_VERSION, 4) {
INCLUDEPATH += /usr/include/dbusmenu-qt5/
LIBS += -ldbusmenu-qt5
} else {
INCLUDEPATH += /usr/include/dbusmenu-qt/
LIBS += -ldbusmenu-qt
}
উদাহরণ প্রয়োগ
কিউটি থেকে সমস্ত লঞ্চার কার্যকারিতা ব্যবহার করে একটি সম্পূর্ণ উদাহরণ দেখতে, এই গিথুব প্রকল্পটি দেখুন ।