簡體   English   中英

警告:不推薦使用 QT_DEVICE_PIXEL_RATIO

[英]Warning: QT_DEVICE_PIXEL_RATIO is deprecated

我正在使用 matplotlib 和 openCV 到 plot 一些閾值方法和以下沒有 Z78E62Z681F6393D1CED65 的警告被拋出:

警告:不推薦使用 QT_DEVICE_PIXEL_RATIO。 而是使用:
QT_AUTO_SCREEN_SCALE_FACTOR 啟用平台插件控制的每個屏幕因素。 QT_SCREEN_SCALE_FACTORS 設置每個屏幕的因素。 QT_SCALE_FACTOR 設置應用程序的全局比例因子。

我正在使用 Ubuntu 19.04

import cv2 as cv
from matplotlib import pyplot as plt

img = cv.imread('gradient.jpg', 0)

_, th1 = cv.threshold(img, 50, 255, cv.THRESH_BINARY)
_, th2 = cv.threshold(img, 200, 255, cv.THRESH_BINARY_INV)
_, th3 = cv.threshold(img, 200, 255, cv.THRESH_TRUNC)
_, th4 = cv.threshold(img, 127, 255, cv.THRESH_TOZERO)
_, th5 = cv.threshold(img, 127, 255, cv.THRESH_TOZERO_INV)

titles = ['Original Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [img, th1, th2, th3, th4, th5]

for i in range(6):
    plt.subplot(2, 3, i + 1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])

謝謝你們。 對我來說,只有Elyte 的回答能奏效。 要在 python 中使用它,您可以使用:

from os import environ

def suppress_qt_warnings():
    environ["QT_DEVICE_PIXEL_RATIO"] = "0"
    environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
    environ["QT_SCREEN_SCALE_FACTORS"] = "1"
    environ["QT_SCALE_FACTOR"] = "1"

if __name__ == "__main__":
    suppress_qt_warnings()
    
    # Init QT etc...

這些警告是關於底層 Qt 庫的變化:

在 Qt 5.4 中,通過 QT_DEVICE_PIXEL_RATIO 環境變量引入了高 DPI 縮放的實驗性實現,您可以將其設置為數字比例因子或自動。 此變量在 Qt 5.6 中已棄用。 來源

由於它只是一個棄用,我不確定切換到較新的選項將解決缺少 output window 的問題。 請參閱您在問題下得到的評論。

但要擺脫警告,這應該在啟動腳本時在 shell 中工作:

export QT_AUTO_SCREEN_SCALE_FACTOR=1;
python myscript.py;

有關詳細信息,請參閱: Qt 文檔:高 DPI 顯示器

從 anaconda 提示符打開 spyder 時,我也得到了這個。 我通過刪除 QT_DEVICE_PIXEL_RATIO 環境和系統變量來解決它,並重新啟動 anaconda 提示。

遇到了這個解決方案!

    export QT_DEVICE_PIXEL_RATIO=0
    export QT_AUTO_SCREEN_SCALE_FACTOR=1
    export QT_SCREEN_SCALE_FACTORS=1
    export QT_SCALE_FACTOR=1

我通過使用與@elyte5star 相同的方法解決了這個問題。 在運行程序之前,在終端中運行以下命令:

export QT_DEVICE_PIXEL_RATIO=0
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_SCREEN_SCALE_FACTORS=1
export QT_SCALE_FACTOR=1

只需在代碼末尾添加cv.waitkey(0)即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM