5

Tôi đang phát triển một ứng dụng qt5 trên pi mâm xôi của tôi trên raspbian sử dụng trình biên dịch chéo.Raspberry Pi Qt5 Đặt kích thước màn hình vật lý

Khi tôi chạy nó, tôi nhận được một màn hình màu đen cố gắng hiển thị một cửa sổ bật lên là QFrame.

Tôi cho rằng nó không thể được định vị bởi vì tôi có thông báo lỗi đến ngay từ đầu:

EGLFS: Không thể truy vấn kích thước màn hình vật lý, mặc định cho 100 dpi.

EGLFS: Để ghi đè, hãy đặt QT_QPA_EGLFS_PHYSICAL_WIDTH và QT_QPA_EGLFS_PHYSICAL_HEIGHT (tính bằng milimet).

EGLFS: Không thể truy vấn sâu màn hình, mặc định cho 32.

EGLFS: Để ghi đè, thiết QT_QPA_EGLFS_DEPTH.

Khi tôi tắt QFrame, ứng dụng được khởi chạy ở chế độ toàn màn hình theo mặc định, trong khi tôi chưa đặt.

Tôi cố gắng để thiết lập các biến môi trường với:

int main(int argc, char *argv[]) 
{ 
    QByteArray width = qgetenv("QT_QPA_EGLFS_PHYSICAL_WIDTH"); 
    width.setNum(1920); 

    QByteArray height = qgetenv("QT_QPA_EGLFS_PHYSICAL_HEIGHT"); 
    height.setNum(1080); 

    QApplication a(argc, argv); 

    MainWindow w; 
    w.show(); 
    w.launchGame(); 

    return a.exec(); 
} 

Nhưng các thông báo lỗi vẫn hiển thị.

Cửa sổ chính là một QWidget và tôi xác định kích thước của mình sử dụng:

setFixedSize(1280, 720); 

Câu hỏi của tôi là, làm thế nào để thiết lập các biến này một cách chính xác hoặc làm bạn có một giải pháp khác?

Trả lời

1

tôi chỉ cần đặt một cái gì đó giống như

export QT_QPA_EGLFS_PHYSICAL_WIDTH=myWidth 
     QT_QPA_EGLFS_PHYSICAL_HEIGHT=myHeight 
     QT_QPA_EGLFS_DEPTH=myDepth 

trong .bashrc của tôi để thoát khỏi những sai sót. Ngoài ra chiều rộng và chiều cao vật lý tính bằng milimet không phải là pixel và độ sâu màn hình là độ sâu màu của màn hình (18 trong trường hợp của tôi).

Các vấn đề liên quan