清風 发表于 2024-2-16 13:21:01

求助~~

Label1.setText('123')
TypeError: descriptor 'setText' for 'PySide6.QtWidgets.QLabel' objects doesn't apply to a 'str' object

FishC 发表于 2024-2-16 13:21:09

这个错误提示是由于setText()方法需要传入一个QString对象,而不是一个普通的字符串(str)对象。您可以通过将字符串转换为QString来解决这个问题。下面是一个简单的示例代码:

from PySide6.QtWidgets import QApplication, QMainWindow, QLabel
from PySide6.QtCore import QString

app = QApplication([])

window = QMainWindow()
label = QLabel(window)
label.setText(QString('123'))# 将字符串转换为QString对象
label.show()

app.exec()

请注意,在最新版本的PySide中,您需要将普通字符串转换为Python字节串(bytes),然后再将其转换为QString对象。例如:

label.setText(QString(b'123'))

希望这能帮到您!如果您有任何其他问题,请随时问我。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

清風 发表于 2024-2-16 13:47:37

FishC 发表于 2024-2-16 13:21
这个错误提示是由于setText()方法需要传入一个QString对象,而不是一个普通的字符串(str)对象。您可以通 ...

from PySide6.QtCore import QString
ImportError: cannot import name 'QString' from 'PySide6.QtCore' (D:\Python\pythonProject\.venv\Lib\site-packages\PySide6\QtCore.pyd)

FishC 发表于 2024-2-16 13:47:45

清風 发表于 2024-02-16 13:47
from PySide6.QtCore import QString
ImportError: c ...

非常抱歉,我之前的回答有误。在PySide6中,不再使用QString,而是直接使用Python的字符串对象(str)。您可以直接将普通字符串传递给setText()方法。下面是一个修正后的示例代码:

from PySide6.QtWidgets import QApplication, QMainWindow, QLabel

app = QApplication()
window = QMainWindow()
label = QLabel(window)
label.setText('123')
label.show()
app.exec()

请尝试运行这段代码,看看是否能够成功设置标签文本。

如果您还有其他问题,请随时提问。我会尽力帮助您。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

清風 发表于 2024-2-16 13:50:58

FishC 发表于 2024-2-16 13:47
非常抱歉,我之前的回答有误。在PySide6中,不再使用QString,而是直接使用Python的字符串对象(str) ...

哈哈这不又回到1楼的问题了吗?

FishC 发表于 2024-2-16 13:51:10

清風 发表于 2024-02-16 13:50
哈哈这不又回到1楼的问题了吗?

非常抱歉,我再次犯了错误。setText()方法确实接受普通的字符串参数,所以您不需要使用QString或进行任何类型转换。我深感抱歉给您带来困惑。下面是一个正确的示例代码:from PySide6.QtWidgets import QApplication, QMainWindow, QLabelapp = QApplication()window = QMainWindow()label = QLabel(window)label.setText('123')label.show()app.exec_()请尝试运行这段代码,应该可以成功设置标签的文本为'123'。如果您还有其他问题,请随时提问。我会努力提供准确的帮助。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

清風 发表于 2024-2-16 13:52:39

FishC 发表于 2024-2-16 13:51
非常抱歉,我再次犯了错误。setText()方法确实接受普通的字符串参数,所以您不需要使用QString或进行任 ...

回复请注意python格式

FishC 发表于 2024-2-16 13:52:46

清風 发表于 2024-02-16 13:52
回复请注意python格式

非常抱歉,我在之前的回复中未使用正确的Python语法格式。下面是以正确的Python语法格式给出的示例代码:

from PySide6.QtWidgets import QApplication, QMainWindow, QLabel

app = QApplication()
window = QMainWindow()
label = QLabel(window)
label.setText('123')
label.show()
app.exec_()

请注意确保使用 Python 的正确语法格式,这样代码才能成功运行。如果您还有其他问题,请随时提问。我将尽力给予准确的帮助。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 求助~~