Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在QCursor中使用自定义图像_Python_Image_Pyqt_Qcursor - Fatal编程技术网

Python 在QCursor中使用自定义图像

Python 在QCursor中使用自定义图像,python,image,pyqt,qcursor,Python,Image,Pyqt,Qcursor,我有一个.bmp图像,我想用作GUI的光标。建议这是可能的(“要使用自己的位图创建光标,可以使用接受位图和掩码的QCursor构造函数,或者使用接受pixmap作为参数的构造函数”),但我似乎无法让它工作,因为我得到了“TypeError:QCursor():当我尝试将建议的模块与位图一起使用时,参数1具有意外的类型“str”。如何做到这一点 下面是产生上述错误的代码。文档还建议将alpha掩码和其他两个值传递到QCursor中,但我不确定这些是否必要,如果必要,它们应该是什么 import s

我有一个.bmp图像,我想用作GUI的光标。建议这是可能的(“要使用自己的位图创建光标,可以使用接受位图和掩码的QCursor构造函数,或者使用接受pixmap作为参数的构造函数”),但我似乎无法让它工作,因为我得到了“TypeError:QCursor():当我尝试将建议的模块与位图一起使用时,参数1具有意外的类型“str”。如何做到这一点

下面是产生上述错误的代码。文档还建议将alpha掩码和其他两个值传递到QCursor中,但我不确定这些是否必要,如果必要,它们应该是什么

import sys
from PyQt4 import QtGui, QtCore

QtGui.QCursor('image.bmp')

class Window(QtGui.QMainWindow):

    def __init__(self):
        super(Window, self).__init__()
        self.setGeometry(50, 50, 500, 300)
        cursor = QtGui.QPixmap('image.bmp')
        self.setCursor(QtGui.QCursor(cursor))
        self.home()

    def home(self):
        btn = QtGui.QPushButton("Quit", self)
        btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
        btn.resize(100,100)
        btn.move(100,100)
        self.show()


def run():
    app = QtGui.QApplication(sys.argv)
    GUI = Window()
    sys.exit(app.exec_())

run()

如果它可以帮助任何人在谷歌上搜索到这里,并且您可以给
whatEverColor
一个值作为透明颜色。在
\uuuu init\uuuu
中:

pm = QtGui.QPixmap('image.bmp')
bm = pm.createMaskFromColor(whatEverColor, Qt.MaskOutColor)
pm.setAlphaChannel(bm)
cursor = QtGui.QCursor(pm)
self.setCursor(cursor)

你能给我们一些密码吗?作为打赌,我想说您将bmp的路径字符串直接提供给QCursor构造函数。如果是这样的话,试着在两者之间调用QPixmap构造函数。我已经为查询添加了一个基本的GUI-在这个上下文中,任何东西都可以对图像进行处理。谢谢你的代码。你能用'image.bmp'路径实例化一个QPixmap,将其交给QtGui.QCursor构造函数,并将后者交给一个小部件,让我们在init中通过setCursor说'self'吗?谢谢-光标出现了,但是,尽管在photoshop中删除了背景,白色背景仍然出现。嗯。你是怎么做到的?我不记得BMP可以对透明度进行编码,但谷歌搜索我读到了其他的东西。你能更新代码吗?