I'km pracę w Qt, i potrzebują pomocy, aby uzyskać fizyczny rozmiar ekranu (monitora),Get fizyczny rozmiar ekranu w Qt
W Qt można uzyskać QDesktopWidget
z QApplication
, to znaczy:
QDesktopWidget *mydesk = QApplication::desktop();
QDesktopwidget
ma kilka metod, aby uzyskać rozdzielczość w pikselach, a niektóre, aby uzyskać rozmiar w milimethers:
mydesk-> widthMM(); mydesk->heightMM();
jednak to nie correspo Do fizycznego rozmiaru, kiedy mierzę mój ekran linijką, jest znaczna różnica.
Również można uzyskać pomiar DPI i obliczyć wielkość ekranu:
mydesk->physicalDpiX(); mydesk->physicalDpiY();
double Winches = (double)mydesk.width()/(double)mydesk.physicalDpiX();
double Hinches = (double)mydesk.Height()/(double)mydesk.physicalDpiY();
gdzie mydesk.width()
i mydesk.height()
podać rozmiar w pikselach (rozdzielczość)
Jednak jest pomiar również źle i bardzo blisko mydesk.widthMM()
i mydesk.heightMM()
Mam również triyed mydesk.logicalDpiX()
i ma podobne wyniki.
tych metod nie pracowali dla mnie Jedynym sposobem na uzyskanie realnych pomiarów odwołać obiekt rzeczywisty na ekranie (myślniki, linijki, itp.) –
Cześć Sosukodo, co myślisz o "odniesieniu do rzeczywistego obiektu na ekranie"? dzięki – Herman
Piszę przykładową aplikację, ale ja ' Nie zrobiłem tego. W każdym razie, jeśli wiesz, że rozmiar bilonu to 17,9 mm, a Ty pokazujesz użytkownikowi obraz dziesięciocentów, to pozwól im powiększać/pomniejszać, aż obraz pasuje do fizycznego bilonu, w zasadzie mówi: 17,9 mm = N pikseli na moim ekranie. Z tego możesz wykonać prostą matematykę, aby obliczyć, ile dziesięciocentów trafia do twoich ekranów. –