我有Qt應用程序自定義樣式表應用到它(和所有小部件一般)與自定義字體包括在此樣式表。但是當試圖獲取一些小部件font()
方法的字體時會返回不同的字體。我想獲取由樣式表設置的QWidget
的字體。 font()
方法總是返回全局系統字體或由setFont()
設置的字體,但不是由setStyleSheet()
設置的字體,用於在窗口小部件中繪畫。我需要字體根據字體大小進行一些計算。我使用Qt 4.6。我怎樣才能得到由樣式表設置的小部件的真正字體(這是顯示應用程序運行時)?如何通過樣式表設置Qt中的窗口小部件的字體?
經過一番調查後,我看到如果我將定義好的樣式表應用到某個小部件上,我可以用myWidget->font()
方法得到正確的字體信息(由樣式表定義)。另外,當我將樣式表設置爲整個MainWindow
時,我可以通過font()
方法爲MainWindow
包含的所有小部件獲取適當的字體信息。但是,當我將樣式表設置爲QApplication
的實例時,所有窗口小部件的font()
方法將返回默認字體或之前由setFont()
設置的字體。爲什麼這樣?
您是否在Qt Designer中創建了您的小部件? – DaveyLaser 2015-02-24 18:18:33
我將自定義樣式表設置爲整個應用程序。這個樣式表描述了我的應用程序上幾個小部件的樣式。因此,例如,我爲我的應用程序中的所有QGraphicsView對象設置自定義背景顏色和字體: app.setStyleSheet(「font-family:Arial; font-style:normal; font-size:12pt; font-weight:bold ;「); – vasyl 2015-02-24 21:31:35
你找到了方法嗎? – fAX 2016-03-17 09:40:48