|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如下代码所示,动态添加的label绑定点击和鼠标悬停事件都不执行,请问各位大佬该怎么写
动态添加的button添加点击事件怎么把自己的属性作为参数传进去,或者其他内容参数。
tkinter 做了一个版本 可以这么写
self.content_btn = Button(
self.frame1, text=value[1], width=40, command=lambda arg=value[1]: self.text_click(arg))
但是qt实在不会,求大佬指导一下
- # 初始化行元素
- def init_rows(self):
- index = 0
- for i, value in enumerate(totalArray[pageIndex].items()):
- tital_labels.append(QtWidgets.QLabel(self.gridLayoutWidget))
- tital_labels[i].setObjectName("tital_label")
- tital_labels[i].setText(value[0] + ':')
- tital_labels[i].setStyleSheet("background-color:gold")
- tital_labels[i].setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
-
- tital_labels[i].linkHovered.connect(self.linkHovered) # 不执行
- tital_labels[i].linkActivated.connect(self.linkClicked) # 不执行
-
- self.gridLayout.addWidget(tital_labels[i], int(i / 2), i % 2 * 9, 1, 1)
- # 行button
- val_btns.append(QtWidgets.QPushButton(self.gridLayoutWidget))
- val_btns[i].setObjectName("valButton")
- val_btns[i].setText(value[1])
- val_btns[i].setToolTip(value[1])
- val_btns[i].setStyleSheet("background-color:LavenderBlush")
- val_btns[i].clicked.connect(lambda: self.show_all_row(value[1]))
- self.gridLayout.addWidget(val_btns[i], int(i/2), int(i % 2*9 + 1), 1, 1)
- index = i
-
- right_btn = QtWidgets.QPushButton(self.gridLayoutWidget)
- right_btn.setText("Next")
- self.gridLayout.addWidget(right_btn, int(len(titalArr)/2 + 1), 4, 1, 1)
-
- left_btn = QtWidgets.QPushButton(self.gridLayoutWidget)
- left_btn.setText("Previous")
- self.gridLayout.addWidget(left_btn, int(len(titalArr)/2 + 1), 2, 1, 1)
-
- def show_all_row(self,value):
- print('当鼠标滑过label2标签时,触发事件' + value)
- def label_hover(self):
- print('当鼠标滑过label2标签时,触发事件')
- def linkHovered(self):
- print('当鼠标滑过label2标签时,触发事件')
- def linkClicked(self):
- print('当鼠标单击label4标签时,触发事件')
复制代码 |
|