当我给它一个列表 [..., ..., ..., ...] 作为函数参数时,QtGui.QColor 不起作用

伊霍尔胡林

我需要帮助PyQt我有一个简单的PyQt小部件作为例子。它有一个简单的背景颜色。但是我不明白为什么当我给它一个颜色参数列表时它显示黑色__init__ (self, color = [100, 150 ,200 ,255])

但我希望它通过仅向颜色参数发送数字列表来正确显示颜色。

我正在尝试将此列表转换为字符串,然后将其发送到self.p.setColor(). 但它也不起作用。仅显示黑色作为背景。

但是,如果我QtGui.QColor(150, 200, 100, 255)直接发送到 color 参数,它会起作用。

import sys
import os
from PyQt5 import QtGui
from PyQt5 import QtCore
from PyQt5 import QtWidgets


class ColorBox(QtWidgets.QMainWindow):

    def __init__(self, color = [100, 200, 150, 255]):

        super(ColorBox, self).__init__()

        self.CoCo = ",".join(str(i) for i in color)
        print (self.CoCo)

        self.setFixedSize(200, 200)

        self.setAutoFillBackground(True)
        self.p = self.palette()
        self.p.setColor(self.backgroundRole(), QtGui.QColor(self.CoCo))
        self.setPalette(self.p)
        self.setObjectName("Color_cube")


def main():
    app = QtWidgets.QApplication(sys.argv)
    main = ColorBox()
    main.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

所以这不起作用:

def __init__(self, color = [100, 200, 150, 255]):

但是,如果我将颜色属性直接发送到 self.p.setColor(),则效果很好:

def __init__(self, color = QtGui.QColor(100, 200, 150, 255):

我应该怎么做才能通过将数字列表转换为颜色值来使第一个变体工作?因为我需要将此颜色参数存储在 JSON 文件中。我不能存储整条线"QtGui.QColor(100, 200, 150, 255)"

非常感谢您的帮助!

米库谢夫斯基

那这个呢?

import sys
import os
from PyQt5 import QtGui
from PyQt5 import QtCore
from PyQt5 import QtWidgets


class ColorBox(QtWidgets.QMainWindow):

    def __init__(self, color = [100, 200, 150, 255]):

        super(ColorBox, self).__init__()

        if isinstance(color, (list, tuple) ):
            myColor = QtGui.QColor( *color )
        elif isinstance( color, QtGui.QColor ):
            myColor = color
        else:
            raise TypeError

        self.setFixedSize(200, 200)

        self.setAutoFillBackground(True)
        self.p = self.palette()
        self.p.setColor(self.backgroundRole(), myColor )
        self.setPalette(self.p)
        self.setObjectName("Color_cube")


def main():
    app = QtWidgets.QApplication(sys.argv)
    ###all three work
    # ~ main = ColorBox()
    # ~ main = ColorBox( (30,0,180,250) )
    main = ColorBox( QtGui.QColor( 250, 0, 180, 250 ) )
    main.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

如果是list或者tupleQColor通过解压缩它们在本地创建如果它QColor已经是你离开它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我有一个很大的结果时,Postgres 函数不起作用

来自分类Dev

当我使用ToListAsync方法时一个线程不起作用

来自分类Dev

当我有一个按钮时,C#键按下不起作用

来自分类Dev

当我从另一个 Mainstoryboard 添加 containerViews 时,导航不起作用?

来自分类Dev

当我从另一个宏“调用”它时,宏不起作用,但是当我单独选择它时,它确实起作用

来自分类Dev

传递两个参数时函数不起作用

来自分类Dev

当我从一个片段中调用它时,我的接口类不起作用

来自分类Dev

当我从一个片段中调用它时,我的接口类不起作用

来自分类Dev

当我添加另一个功能(如通知)时,我的搜索功能将不起作用

来自分类Dev

使用参数列表调用另一个函数的函数不起作用

来自分类Dev

当我输入第一个字符时,AutoCompleteTextView不起作用

来自分类Dev

当我从另一个表中选择计数时,左联接不起作用

来自分类Dev

当我们有一个单独的View控制器时,ItemController不起作用

来自分类Dev

当我单击另一个x-editable时,x-editable关闭模糊不起作用

来自分类Dev

当我将它分成另一个组件时,React-router Redirect 似乎不起作用

来自分类Dev

当我向其中发送另一个承诺时 promise.then() 不起作用

来自分类Dev

当我将其放入函数时 Strlen 不起作用

来自分类Dev

jQuery Change()函数在选择列表中只有一个选项时不起作用

来自分类Dev

为什么第一个函数在我用javascript覆盖时不起作用

来自分类Dev

我的索引参数不起作用

来自分类Dev

列表的remove()函数不起作用

来自分类Dev

调用我的Javascript函数不起作用

来自分类Dev

Lapply 函数对我的矩阵不起作用

来自分类Dev

在悬停时将函数作为参数传递不起作用

来自分类Dev

当var作为参数传递时,javascript函数不起作用

来自分类Dev

在更新时,我的条件不起作用

来自分类Dev

如何调用函数作为参数,我试过这种方法不起作用?

来自分类Dev

我正在尝试在自身内部调用一个函数,但是它对我不起作用

来自分类Dev

为什么将我的委托作为参数传递给方法时不起作用?

Related 相关文章

  1. 1

    当我有一个很大的结果时,Postgres 函数不起作用

  2. 2

    当我使用ToListAsync方法时一个线程不起作用

  3. 3

    当我有一个按钮时,C#键按下不起作用

  4. 4

    当我从另一个 Mainstoryboard 添加 containerViews 时,导航不起作用?

  5. 5

    当我从另一个宏“调用”它时,宏不起作用,但是当我单独选择它时,它确实起作用

  6. 6

    传递两个参数时函数不起作用

  7. 7

    当我从一个片段中调用它时,我的接口类不起作用

  8. 8

    当我从一个片段中调用它时,我的接口类不起作用

  9. 9

    当我添加另一个功能(如通知)时,我的搜索功能将不起作用

  10. 10

    使用参数列表调用另一个函数的函数不起作用

  11. 11

    当我输入第一个字符时,AutoCompleteTextView不起作用

  12. 12

    当我从另一个表中选择计数时,左联接不起作用

  13. 13

    当我们有一个单独的View控制器时,ItemController不起作用

  14. 14

    当我单击另一个x-editable时,x-editable关闭模糊不起作用

  15. 15

    当我将它分成另一个组件时,React-router Redirect 似乎不起作用

  16. 16

    当我向其中发送另一个承诺时 promise.then() 不起作用

  17. 17

    当我将其放入函数时 Strlen 不起作用

  18. 18

    jQuery Change()函数在选择列表中只有一个选项时不起作用

  19. 19

    为什么第一个函数在我用javascript覆盖时不起作用

  20. 20

    我的索引参数不起作用

  21. 21

    列表的remove()函数不起作用

  22. 22

    调用我的Javascript函数不起作用

  23. 23

    Lapply 函数对我的矩阵不起作用

  24. 24

    在悬停时将函数作为参数传递不起作用

  25. 25

    当var作为参数传递时,javascript函数不起作用

  26. 26

    在更新时,我的条件不起作用

  27. 27

    如何调用函数作为参数,我试过这种方法不起作用?

  28. 28

    我正在尝试在自身内部调用一个函数,但是它对我不起作用

  29. 29

    为什么将我的委托作为参数传递给方法时不起作用?

热门标签

归档