Python 3密钥排序的dict函数与PyQt4无法正常工作

问题描述 投票:0回答:1

我有一个函数,它应该对一个字典进行排序并将结果打印在一个QTextEdit框中 - 在gui窗口中显示“ADtext”。

示例dict:

lunch = {5: "14:00-16:00",27: "12:00-13:00", 13: "12:00-13:00"}

功能:

    def example(self):
       keys= list(lunch.keys())
       keys.sort()
       for key in keys:
           self.ADtext.setText("({} => {})".format(key, lunch[key]))

但是在gui QTextEdit - “ADtext”框中,只显示其中一对(始终相同)。

如果我在cmd中打印结果(不在QTextEdit框中),该函数可以正常工作:

print ("({} => {})".format(key, lunch[key]))
python python-3.x pyqt pyqt4 qtextedit
1个回答
0
投票

你必须使用append(),因为setText()删除了以前的文本:

def example(self):
   self.ADtext.clear() # clean the previous text
   keys= list(lunch.keys())
   keys.sort()
   for key in keys:
       self.ADtext.append("({} => {})".format(key, lunch[key]))
© www.soinside.com 2019 - 2024. All rights reserved.