You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQt中修改QTextColor报错:NameError: global name 'QColor' is not defined

解决PyQt中QColor未定义的NameError问题

嘿,这个错误很容易搞定!你看到的NameError: global name 'QColor' is not defined本质上是因为你没有在代码中导入QColor类——Python根本不知道这个东西是什么,所以报错了。

问题根源

在PyQt里,QColor属于QtGui模块(不管是PyQt5还是PyQt6),默认不会自动导入,必须显式声明导入才能使用。

两种解决方案

你可以任选一种适合你的方式:

方案1:直接导入QColor类

把这条导入语句放在代码的最开头(在使用QColor之前):

# PyQt5的情况
from PyQt5.QtGui import QColor

# 如果你用的是PyQt6,改成下面这样
# from PyQt6.QtGui import QColor

之后你的原有代码就能正常运行了:

redcolor = QColor(255, 0, 0)
self.textEdit.setTextColor(redcolor)

方案2:导入整个QtGui模块,通过模块名调用

如果需要用到QtGui里的其他类,也可以直接导入整个模块,然后通过模块前缀调用QColor:

# PyQt5的情况
import PyQt5.QtGui

# PyQt6则改成 import PyQt6.QtGui

然后修改你的代码:

redcolor = PyQt5.QtGui.QColor(255, 0, 0)
self.textEdit.setTextColor(redcolor)

小提醒

  • 确保导入语句出现在你使用QColor的代码之前,不然还是会报错。
  • 如果你不确定自己用的是PyQt5还是PyQt6,可以看一下你的安装命令(比如pip install pyqt5还是pyqt6)。

内容的提问来源于stack exchange,提问作者Guna Sekaran J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:49:12