728x90
1. qt_screen-> deviceWidth()
함수는 Qt 4에서 사용되는 함수로, 특정 스크린의 실제 픽셀 단위 너비를 반환합니다.
이 함수는 스크린의 물리적 너비를 픽셀 단위로 제공하여, 화면에 표시되는 내용의 정확한 크기를 계산하는 데 사용될 수 있습니다. 쉽게 말해, 이 함수는 스크린의 가로 길이를 픽셀 단위로 알려줍니다. 예를 들어, 1920x1080 해상도의 디스플레이가 있다면, deviceWidth() 함수는 1920을 반환할 것입니다.
라고 한다. 이 함수를 Qt5에서는 지원하지 않기에 , 아래와 같이 컨버팅 해야 한다.
#include <QApplication>
#include <QScreen>
#include <QDebug>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QScreen *screen = QGuiApplication::primaryScreen();
if (screen) {
int width = screen->size().width();
qDebug() << "Screen width:" << width;
}
return 0;
}
2. qt_screen->mapFromDevice
이 함수는 Qt 4에서 사용된 함수로, 디바이스 좌표계를 스크린 좌표계로 변환하는 역할을 합니다. 이 함수는 일반적으로 픽셀 좌표계에서 스크린 좌표계로 변환이 필요할 때 사용됩니다.
예를 들어, 터치스크린 장치나 다른 입력 장치에서 얻은 좌표가 디바이스 좌표계에 있을 때, 이 좌표를 스크린 좌표계로 변환하여 정확한 위치를 파악할 수 있습니다.
쉽게 말하면, 입력 장치에서 얻은 좌표를 스크린 좌표로 변환해 주는 함수라고 할 수 있습니다.
라고 한다. 아래와 같이 screen 클래스에서 QPoint값을 넣어서 계산하면 된다.
#include <QApplication>
#include <QScreen>
#include <QDebug>
QPoint mapFromDevice(const QPoint &devicePoint, QScreen *screen) {
// 디바이스 좌표계를 스크린 좌표계로 변환하는 예제
// 예를 들어, 단순히 동일한 좌표를 반환하는 경우
return screen->geometry().topLeft() + devicePoint;
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QScreen *screen = QGuiApplication::primaryScreen();
if (screen) {
QPoint devicePoint(100, 100);
QPoint screenPoint = mapFromDevice(devicePoint, screen);
qDebug() << "Screen point:" << screenPoint;
}
return 0;
}
728x90
'개발이야기' 카테고리의 다른 글
U-Boot env 이미지 만들기(mkenvimage) (0) | 2024.11.28 |
---|---|
IAR embedded workbench와 가격, Crack 이야기 (1) | 2024.11.16 |
센서 데이터 평균과 중앙값 (0) | 2024.11.05 |
Orange Pi 3B 기가 이더넷 동작 안함 !! (1) | 2024.10.14 |
[QT] 개발하면서 팁 정리 (0) | 2024.08.28 |