2015-04-02 20 views
5

Birkaç yıl önce burada daha önce sorduğum diğer kişiler gibi, bir pendrive/datatraveler takıldığında ve sistemimde takılıyken (hem Linux Ubuntu hem de Gömülü Linux'ta) bir Qt uygulamasında tespit edebilmek istiyorum.USB olaylarını tespit etmek için bir Qt çözümü var mı (ekleme ve çıkarma)?

SO araştırmasında arandığım ve çoğu yanıtın yalnızca çok modası geçmiş olduğunu (örneğin 2010'dan itibaren) değil, tüm çözümlerin bir şekilde "sorunlu Qt çözümleri" ni içerdiğini fark ettim: platforma özel veya dış kütüphanelerin kullanımı udev ve DBus olarak.

Her şeyden önce bilmek istediğim, bunun için belirli bir Qt çözümü varsa, yani harici lib'leri veya platforma özel kod eklemeyi gerektirmeden bunu yapmanın bir yoludur ve nasıl kullanabilirim. Tercihen Qt 4.8'de zaten mevcut olmalıdır. Qt çözümü yoksa, Qt tabanlı bir kitaplık kabul edilebilir.

Ekleme: Arama sonuçları:

+2

USB ile ilgili hiçbir şey Qt. – dtech

+0

@Bowdzone Bağladığınız qdevicewatcher'ı test ettim ve harika çalışıyor. Soruma cevap yazabilmem için lütfen soruma bir cevap yazabilir misiniz? – Momergil

cevap

4

Daha önce de belirtildiği gibi, Qt'un kendisi böyle bir modül sağlamamaktadır. Bununla birlikte, QDeviceWatcher adı verilen bir kullanıcı sınıfı vardır. Bununla kişisel olarak hiçbir deneyimim yok ve düzenli olarak güncellenmiyor ancak siz bunu deneyebilirsiniz.

here forum iletisini ve git deposu here'u bulabilirsiniz.

3

Qt Böyle API libusbx Önerdi, ancak oldukça müthiş libusb bazı platform bilge uygulamaları ile devam edebilir.

+1

Proje http://libusb.info adresine kaydırıldı –

1

Sadece bir ipucu daha:

libusbx libusb bir çatal, USB cihazları için genel erişim sağlayan bir kütüphanedir. 2014.01.26 itibariyle, bu proje tamamen libusb haline getirildi ve kaldırılıyor. Libusbx'in başka bir sürümü olmayacağından, libusb kullanmaya geçmeniz şiddetle tavsiye edilir. ----- http://libusbx.org/

İlgili konular