簡體   English   中英

PyQt5:“顏色”對話框中“沒有填充”?

[英]PyQt5: “No Fill” in Color Dialog?

我正在PyQt5中編寫GUI,需要使用顏色選擇器。 到目前為止,我使用了QColorDialog類,該類可以很好地選擇顏色-但我的問題是,似乎沒有辦法選擇“無顏色”(或“無填充”,就像從PowerPoint或Adobe Illustrator中知道的那樣)。 。

如何實現選擇“無色”? (文檔僅提及透明標志,但這對我沒有幫助...)

如果您不介意使用非本機對話框,則自定義對話框非常容易。

下面是一個非常基本的實現,它顯示了如何嵌入現有對話框,並在底部添加一個額外的“無顏色”按鈕。 其余的實現留給讀者練習。

from PyQt5 import QtCore, QtWidgets

class ColorDialog(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super().__init__(parent)
        widget = QtWidgets.QColorDialog()
        widget.setWindowFlags(QtCore.Qt.Widget)
        widget.setOptions(
            QtWidgets.QColorDialog.DontUseNativeDialog |
            QtWidgets.QColorDialog.NoButtons)
        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(widget)
        hbox = QtWidgets.QHBoxLayout()
        hbox.addWidget(QtWidgets.QPushButton('No Color'))
        hbox.addWidget(QtWidgets.QPushButton('Cancel'))
        hbox.addWidget(QtWidgets.QPushButton('Ok'))
        layout.addLayout(hbox)

if __name__ == '__main__':

    import sys
    app = QtWidgets.QApplication(sys.argv)
    dialog = ColorDialog()
    dialog.show()
    sys.exit(app.exec_())

暫無
暫無

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

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