将列表中的项目(字符串)添加到 QListWidget
Adding items (strings) from a list to a QListWidget
首先,我的UI是这样的:
嗯!我做了一个“代码生成器”。我有一个空白的 QListWidget,我想要代码。 这些代码将使用 'Create' 按钮制作。到目前为止,我一直在测试 脚本,查看要在终端上打印的代码。现在,我想在 QListWidget 中看到它们。因此,当我单击按钮时,QListWidget 将出现一个新的代码。首先,代码以这种方式转到 Codes_list = []
:
class Ui_MainWindow_2_1(object):
def __init__(self):
self.Codes_list = []
def Code_maker(self):
import random
chars= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!$%&*#/\?[]{}-_"
for x in range(self.HowMany_SpinBox.value()):
password = ""
for y in range(0, 10):
password_char = random.choice(chars)
password += password_char
print(password)
self.Codes_list.append(password)
def setupUi(self, MainWindow_2_1):
# Some code later...
self.CreateButton.clicked.connect(self.Code_maker)
例如,Codes_list
可能有这些代码:["rdt5u\&/EQ", "BJnV?zNOXn", "TnRZEMjbd6", "}?TF/hmTDF", "y9D1-Cl-Hk"]
。现在,从这里开始,代码应该转移到 QListWidget... 如何?
My QListWidget script is this:
class Ui_MainWindow_2_1(object):
# Some code later...
def setupUi(self, MainWindow_2_1):
# Some code later...
self.Codes_listWidget = QtWidgets.QListWidget(self.background)
self.Codes_listWidget.setGeometry(QtCore.QRect(20, 120, 231, 161))
self.Codes_listWidget.setStyleSheet("background-color: none;\nborder-radius: 10px;")
self.Codes_listWidget.setObjectName("Codes_listWidget")
item = QtWidgets.QListWidgetItem()
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setWeight(50)
item.setFont(font)
self.Codes_listWidget.addItems(self.Codes_list)
我希望 QListWidget 在您单击 'Create' 按钮时准确更新。
Code_maker 上的密码将永远保留在那里。
我的问题在我的问题的评论中解决了!我在 self.Codes_list.append(password)
之后添加了 self.Codes_listWidget.addItem(password)
。谢谢@musicamante!!!
The finally script is:
class Ui_MainWindow_2_1(object):
def __init__(self):
self.Codes_list = []
def Code_maker(self):
import random
chars= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!$%&*#/\?[]{}-_"
for x in range(self.HowMany_SpinBox.value()):
password = ""
for y in range(0, 10):
password_char = random.choice(chars)
password += password_char
print(password)
self.Codes_list.append(password)
self.Codes_listWidget.addItem(password)
def setupUi(self, MainWindow_2_1):
# Some code later...
self.CreateButton.clicked.connect(self.Code_maker)
My finally QListWidget script is:
class Ui_MainWindow_2_1(object):
# Some code later...
def setupUi(self, MainWindow_2_1):
# Some code later...
self.Codes_listWidget = QtWidgets.QListWidget(self.background)
self.Codes_listWidget.setGeometry(QtCore.QRect(20, 120, 231, 161))
self.Codes_listWidget.setStyleSheet("background-color: none;\nborder-radius: 10px;")
self.Codes_listWidget.setObjectName("Codes_listWidget")
item = QtWidgets.QListWidgetItem()
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setWeight(50)
item.setFont(font)
首先,我的UI是这样的:
嗯!我做了一个“代码生成器”。我有一个空白的 QListWidget,我想要代码。 这些代码将使用 'Create' 按钮制作。到目前为止,我一直在测试 脚本,查看要在终端上打印的代码。现在,我想在 QListWidget 中看到它们。因此,当我单击按钮时,QListWidget 将出现一个新的代码。首先,代码以这种方式转到 Codes_list = []
:
class Ui_MainWindow_2_1(object):
def __init__(self):
self.Codes_list = []
def Code_maker(self):
import random
chars= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!$%&*#/\?[]{}-_"
for x in range(self.HowMany_SpinBox.value()):
password = ""
for y in range(0, 10):
password_char = random.choice(chars)
password += password_char
print(password)
self.Codes_list.append(password)
def setupUi(self, MainWindow_2_1):
# Some code later...
self.CreateButton.clicked.connect(self.Code_maker)
例如,Codes_list
可能有这些代码:["rdt5u\&/EQ", "BJnV?zNOXn", "TnRZEMjbd6", "}?TF/hmTDF", "y9D1-Cl-Hk"]
。现在,从这里开始,代码应该转移到 QListWidget... 如何?
My QListWidget script is this:
class Ui_MainWindow_2_1(object):
# Some code later...
def setupUi(self, MainWindow_2_1):
# Some code later...
self.Codes_listWidget = QtWidgets.QListWidget(self.background)
self.Codes_listWidget.setGeometry(QtCore.QRect(20, 120, 231, 161))
self.Codes_listWidget.setStyleSheet("background-color: none;\nborder-radius: 10px;")
self.Codes_listWidget.setObjectName("Codes_listWidget")
item = QtWidgets.QListWidgetItem()
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setWeight(50)
item.setFont(font)
self.Codes_listWidget.addItems(self.Codes_list)
我希望 QListWidget 在您单击 'Create' 按钮时准确更新。
Code_maker 上的密码将永远保留在那里。
我的问题在我的问题的评论中解决了!我在 self.Codes_list.append(password)
之后添加了 self.Codes_listWidget.addItem(password)
。谢谢@musicamante!!!
The finally script is:
class Ui_MainWindow_2_1(object):
def __init__(self):
self.Codes_list = []
def Code_maker(self):
import random
chars= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!$%&*#/\?[]{}-_"
for x in range(self.HowMany_SpinBox.value()):
password = ""
for y in range(0, 10):
password_char = random.choice(chars)
password += password_char
print(password)
self.Codes_list.append(password)
self.Codes_listWidget.addItem(password)
def setupUi(self, MainWindow_2_1):
# Some code later...
self.CreateButton.clicked.connect(self.Code_maker)
My finally QListWidget script is:
class Ui_MainWindow_2_1(object):
# Some code later...
def setupUi(self, MainWindow_2_1):
# Some code later...
self.Codes_listWidget = QtWidgets.QListWidget(self.background)
self.Codes_listWidget.setGeometry(QtCore.QRect(20, 120, 231, 161))
self.Codes_listWidget.setStyleSheet("background-color: none;\nborder-radius: 10px;")
self.Codes_listWidget.setObjectName("Codes_listWidget")
item = QtWidgets.QListWidgetItem()
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI")
font.setWeight(50)
item.setFont(font)