如何解决QtPython,功能失调的按钮点击信号
我的代码有问题。我已经搜索了答案并使用了示例代码,但仍然无法解决这个问题。我有一个表格,我希望在单击表格行时激活一个插槽。目前我正试图让按钮对被点击做出反应。我做错了什么?提前致谢。
from PySide6.QtCore import *
from PySide6.QtWidgets import *
from PySide6.QtGui import *
class Window(QWidget):
def __init__(self):
# Initiate superclass
QWidget.__init__(self)
# Window-Layout setup
layout = QGridLayout()
self.setLayout(layout)
# Table-Tab setup
tab1 = TableTab(12,3)
tab2 = TableTab(12,3)
tab3 = TableTab(12,3)
tab1.addItem(0,"Hej världen")
# Tab-Widget setup
tabWidget = QTabWidget()
tabWidget.addTab(tab1.tRender(),"Available")
tabWidget.addTab(tab2.tRender(),"Active")
tabWidget.addTab(tab3.tRender(),"Completed")
# Add Tab-Widget to layout
layout.addWidget(tabWidget,0)
class Tab():
def __init__(self):
# Define layout
self.layout = QGridLayout()
def tRender(self):
# Render tab
self.tab = QWidget()
self.tab.setLayout(self.layout)
return self.tab
class TableTab(Tab):
def __init__(self,rows,cols):
# Initiate superclass
Tab.__init__(self)
# Setup table
self.table = QTableWidget(rows,cols)
self.table.setHorizontalHeaderLabels(["Job Overview","Employer","Payment","Confirmed","Date"])
self.table.setEditTriggers(QTableWidget.NoEditTriggers)
# Fix Headers
header = self.table.horizontalHeader()
for i in range(cols):
if i == 0:
header.setSectionResizeMode(0,QHeaderView.Stretch)
else:
header.setSectionResizeMode(i,QHeaderView.ResizeToContents)
# Add widget to layout
self.layout.addWidget(self.table,0)
def addItem(self,row,col,text):
# Create a cell widget
self.btn = Button(text)
self.table.setCellWidget(row,self.btn)
# THIS IS THE BUTTON CLASS
class Button(QPushButton):
def __init__(self,text):
QPushButton.__init__(self)
self.setFlat(1)
self.setText(text)
self.setStyleSheet("QPushButton { text-align: left; }")
# THIS IS THE CLICK CONNECT
self.clicked.connect(print("Hello World!"))
if __name__ == "__main__":
app = QApplication()
screen = Window()
screen.setWindowTitle("BlaBlaNet - Freelancer")
screen.setFixedSize(800,600)
screen.show()
app.exec_()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。