我想在PyQt5中的range_label
文本标签中输入多个参数(一些文本以及变量l_date
和u_date
(。我的代码是:
self.range_label.setText('Date range of data: ', l_date, '-', u_date)
但是,这会返回错误:
TypeError: setText(self, str): too many arguments
如何在文本标签中输入多个参数?或者我应该使用另一个PyQt5对象?
QLabel只接受一个字符串,因此您必须连接该字符串,为此,Qt提供了许多方法,但最简单的是f-string:
text = f"Date range of data: {l_date} - {u_date}"
self.range_label.setText(text)
As QLabel只接受单个字符串作为参数。因此,我们可以将所有字符串连接在一起,或者使用f-string,或者直接传递参数。
方式1:
from datetime import date
today = date.today()
l_date = today.strftime("%d/%m/%Y")
u_date = today.strftime("%B %d, %Y")
#Main code
txt = "Date range of data: "+str(l_date)+" - "+str(u_date)
self.range_label.setText(txt)
方式2:
txt = f"Date range of data: {l_date} - {u_date}"
self.range_label.setText(txt)
方式3:
self.range_label.setText("Date range of data: "+str(l_date)+" - "+str(u_date))