pyqt5-字體,顏色選擇對話框設置label標簽字體顏色樣式


1.采用實例方法,先創建2個dialog對象,采用該對象的信號觸發相應的操作

import sys
from PyQt5.Qt import *

class MyWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        self.btn = QPushButton("選擇字體",self)
        self.color_btn = QPushButton("選擇顏色",self)
        self.color_btn.move(100,0)
        self.fd = QFontDialog(self)
        self.qfc = QColorDialog(self)
        self.fd.fontSelected.connect(self.font_select)
        self.fd.currentFontChanged.connect(self.font_select)
        self.qfc.colorSelected.connect(self.color_select)
        self.label = QLabel("天佑中華!",self)
        self.label.move(100,100)
        self.btn.clicked.connect(self.open_choose)
        self.color_btn.clicked.connect(self.open_color_choose)

    def color_select(self,color):
        red,green,blue,_ = color.getRgb()
        self.label.setStyleSheet("color:rgb({},{},{},255)".format(red,green,blue))

    def open_color_choose(self):
        self.qfc.open()

    def open_choose(self):
        self.fd.open()

    def font_select(self,font):
        self.label.setFont(font)
        self.label.adjustSize()



if __name__ == "__main__":
    app = QApplication([])
    window = MyWidget()
    window.show()
    sys.exit(app.exec_())

 

2.采用類靜態方法,直接獲取返回值

import sys
from PyQt5.Qt import *

class MyWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.resize(500,500)
        self.setup_ui()

    def setup_ui(self):
        self.btn = QPushButton("選擇字體",self)
        self.color_btn = QPushButton("選擇顏色",self)
        self.label = QLabel("天佑中華!", self)

        self.color_btn.move(100,0)
        self.label.move(100,100)

        self.btn.clicked.connect(self.open_choose)
        self.color_btn.clicked.connect(self.open_color_choose)

    def open_color_choose(self):
        qcolor = QColorDialog.getColor()
        red, green, blue, _ = qcolor.getRgb()
        self.label.setStyleSheet("color:rgb({},{},{},255)".format(red, green, blue))

    def open_choose(self):
        font,ischecked = QFontDialog.getFont(self)
        if ischecked:
            self.label.setFont(font)
            self.label.adjustSize()

if __name__ == "__main__":
    app = QApplication([])
    window = MyWidget()
    window.show()
    sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM