溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PyQt5 實(shí)現(xiàn)字體大小自適應(yīng)分辨率的方法

發(fā)布時(shí)間:2020-08-20 03:23:54 來(lái)源:腳本之家 閱讀:683 作者:qfxx_csdn 欄目:開(kāi)發(fā)技術(shù)

最近遇到一個(gè)現(xiàn)象,將做好的軟件放在更高分辨率的電腦上運(yùn)行,會(huì)導(dǎo)致字體顯示不完全,出現(xiàn)被控件遮擋的情況。具體原因可以上網(wǎng)查詢,在這里將記錄下解決方法。

這里記錄兩種方法,如果使用的Qt版本在5.6.0之后,可以支持High_DPI,應(yīng)用設(shè)置該屬性即可;如果不支持,可以為應(yīng)用設(shè)置自適應(yīng)字體。

 if __name__ == "__main__":
  v_compare = QVersionNumber(5,6,0)
  v_current,_ = QVersionNumber.fromString(QT_VERSION_STR) #獲取當(dāng)前Qt版本
  if QVersionNumber.compare(v_current,v_compare) >=0 :
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)  #Qt從5.6.0開(kāi)始,支持High-DPI
    app = QApplication(sys.argv)  #
  else:
    app = QApplication(sys.argv)
    font = QFont("宋體")
    pointsize = font.pointSize()
    font.setPixelSize(pointsize*90/72)
    app.setFont(font)
  mymainwin = Mymainwindow()
  mymainwin.show()
  sys.exit(app.exec())

注意:QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) 是在創(chuàng)建QApplication項(xiàng)目之前。

以上這篇PyQt5 實(shí)現(xiàn)字體大小自適應(yīng)分辨率的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI