1212 QHeaderView ,
1313 QMessageBox ,
1414 QTableWidget ,
15+ QTableWidgetItem ,
1516 QVBoxLayout ,
1617 QWidget ,
1718)
@@ -113,7 +114,6 @@ def __init__(self, parent: Optional[QWidget] = None) -> None:
113114 super ().__init__ (parent )
114115
115116 self .pkg_list : list [tuple [str , str ]] = [] # [("black", "23.12.1"), ...]
116-
117117 self .pkg_table = QTableWidget (self )
118118
119119 self ._setup_ui ()
@@ -143,7 +143,8 @@ def _setup_ui(self) -> None:
143143
144144 def load_pkg_list (self , pkg_list : list [dict [str , str ]]) -> None :
145145 """
146- 从后端加载包数据,存储到实例属性中 \n
146+ 从后端加载包数据,存储到实例属性 pkg_list 中 \n
147+ self.pkg_list 形如 [("black", "23.12.1"), ...]
147148 :param pkg_list: 已安装的包列表,形如 [{"name": "black", "version": "23.12.1"}, {}, ...]
148149 """
149150
@@ -153,3 +154,14 @@ def load_pkg_list(self, pkg_list: list[dict[str, str]]) -> None:
153154 pkg_version = pkg ["version" ]
154155 package_lists .append ((pkg_name , pkg_version ))
155156 self .pkg_list = package_lists
157+ self ._pkg_table_update ()
158+
159+ def _pkg_table_update (self ) -> None :
160+ """
161+ 更新包列表控件显示内容 \n
162+ """
163+
164+ self .pkg_table .setRowCount (len (self .pkg_list ))
165+ for row , pkg in enumerate (self .pkg_list ):
166+ self .pkg_table .setItem (row , 0 , QTableWidgetItem (pkg [0 ]))
167+ self .pkg_table .setItem (row , 1 , QTableWidgetItem (pkg [1 ]))
0 commit comments