我試着讓我的菜單自動生成的使用for循環:使用數據庫和詞典添加PyQt5菜單和觸發器[Python的3]
q3 = connect_menu.addMenu('Q3')
q3menus = {}
x = 0
for element in q3s:
key = 'Q'+str(x)
q3menus[key] = QAction(element[7], self)
q3.addAction(q3menus[key])
q3menus[key].triggered.connect(lambda: self.main_form.consavesv(q3menus[key].text()))
x += 1
q3s
等於一個使用fetchall功能,從去年SQL獲取數據查詢
q3s = [(1, 'Q3', '127.0.0.1', 28960, "Server Test Name", '5154', '127.0.0.1:28960', "127.0.0.1:28960 | Server Test Name"), (2, 'Q3', '192.168.1.66', 28960, 'Server Test 2', '5154', '192.168.1.66:28960', '192.168.1.66:28960 | Server Test 2')]
我試圖用dictianory,這dictianory新增了菜單的標籤,以及它應該,但是當我點擊他們,我,他們都具有相同的triggered.connect()
作爲最後一個呢..
我在做什麼錯? 我不想在這裏創建信號,導致數據庫結果不是靜態的..
對不起,對英文不好。
我想我應該加上'triggered.connect()'外循環,但我不知道那我應該怎麼設置'triggered.connect()'在dictianory – DarkSuniuM
所有的項目,你可以顯示你在運行'print(q3s)'時獲得的結果 – eyllanesc
@eyllanesc問題已更新並且q3s內容已添加 – DarkSuniuM