qtableWidget设置行高度调整为内容
文件:untitled.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(Dialog)
self.gridLayout.setObjectName("gridLayout")
self.table = QtWidgets.QTableWidget(Dialog)
self.table.setFocusPolicy(QtCore.Qt.NoFocus)
self.table.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
self.table.setEditTriggers(QtWidgets.QAbstractItemView.AllEditTriggers)
self.table.setDragEnabled(True)
self.table.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
self.table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectItems)
self.table.setObjectName("table")
self.table.setColumnCount(6)
self.table.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(4, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(5, item)
self.table.horizontalHeader().setDefaultSectionSize(200)
self.table.horizontalHeader().setStretchLastSection(True)
self.table.verticalHeader().setVisible(False)
self.gridLayout.addWidget(self.table, 0, 0, 1, 1)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
item = self.table.horizontalHeaderItem(0)
item.setText(_translate("Dialog", "Α/Α"))
item = self.table.horizontalHeaderItem(1)
item.setText(_translate("Dialog", "Είδος"))
item = self.table.horizontalHeaderItem(2)
item.setText(_translate("Dialog", "Τίτλος"))
item = self.table.horizontalHeaderItem(3)
item.setText(_translate("Dialog", "Ακολουθία λιστών αναπαραγωγής"))
item = self.table.horizontalHeaderItem(4)
item.setText(_translate("Dialog", "Διαδρομή / Διεύθυνση Internet"))
item = self.table.horizontalHeaderItem(5)
item.setText(_translate("Dialog", "Ενέργεια"))
file run_me.py
from PyQt5 import QtCore, QtWidgets, QtCore
from untitled import *
import sys
class Run_Me:
def __init__(self):
self.app = QtWidgets.QApplication(sys.argv)
self.Dialog = QtWidgets.QDialog()
self.ui = Ui_Dialog()
self.ui.setupUi(self.Dialog)
self.Dialog.showMaximized()
self.display_table()
sys.exit(self.app.exec_())
def display_table(self):
self.row_action_widgets = []
self.ui.table.setRowCount(0)
counter = 0
display_result = "ok"
#self.error_items.insert(0,self.error_items[0])
verticalHeader = self.ui.table.verticalHeader()
verticalHeader.setSectionResizeMode(QtWidgets.QHeaderView.Fixed)
for row in range(0,5):
self.ui.table.insertRow(counter)
self.row_action_widgets.append({})
self.display_table_row(counter)
counter = counter + 1
if display_result != "ok":
break
self.ui.table.setStyleSheet("QTableWidget{border:1px solid #ABABAB;}QTableWidget::item {border: 0px;padding: 10px 10px 10px 10px; }")
#self.ui.table.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents)
#self.ui.table.setAlternatingRowColors(True)
#self.ui.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.ui.table.setStyleSheet("QTableWidget::item {border: 0px;padding: 10px 10px 10px 10px; }QTableWidget{border:1px solid #ABABAB;gridline-color:green}\n\nQTableCornerButton::section{border-width: \n 1px; border-color: #BABABA; border-style:solid;border-left:none;border-top:none;}")
self.ui.table.setColumnWidth(0, 90)
self.ui.table.setColumnWidth(1, 200)
self.ui.table.setColumnWidth(2, 200)
self.ui.table.setColumnWidth(3, 300)
self.ui.table.setColumnWidth(4, 200)
self.ui.table.setColumnWidth(5, 450)
self.ui.table.resizeRowsToContents()
def display_table_row(self,counter):
# Α/Α
counter_item = QtWidgets.QTableWidgetItem(str(counter+1))
counter_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,0,counter_item)
# Είδος
type_item = QtWidgets.QTableWidgetItem("Item type")
type_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,1,type_item)
# Τίτλος
title_item = QtWidgets.QTableWidgetItem("Title")
title_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,2,title_item)
# Playlist sequence
sequence_item = QtWidgets.QTableWidgetItem("Sequence text")
sequence_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,3,sequence_item)
# Url / Original path
path_item = QtWidgets.QTableWidgetItem(str("Wrong url or wrong sound file path"))
path_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,4,path_item)
#Action frame
self.row_action_widgets[counter]["groupBox"] = QtWidgets.QGroupBox(self.Dialog)
self.row_action_widgets[counter]["groupBox"].setEnabled(True)
#self.row_action_widgets[counter]["groupBox"].setGeometry(QtCore.QRect(10, 0, 410, 265))
self.row_action_widgets[counter]["sizePolicy"] = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
self.row_action_widgets[counter]["sizePolicy"].setHorizontalStretch(0)
self.row_action_widgets[counter]["sizePolicy"].setVerticalStretch(0)
self.row_action_widgets[counter]["sizePolicy"].setHeightForWidth(self.row_action_widgets[counter]["groupBox"].sizePolicy().hasHeightForWidth())
self.row_action_widgets[counter]["groupBox"].setSizePolicy(self.row_action_widgets[counter]["sizePolicy"])
self.row_action_widgets[counter]["groupBox"].setCheckable(True)
self.row_action_widgets[counter]["gridLayout"] = QtWidgets.QGridLayout(self.row_action_widgets[counter]["groupBox"])
self.row_action_widgets[counter]["retransmition_url_frame"] = QtWidgets.QFrame(self.row_action_widgets[counter]["groupBox"])
self.row_action_widgets[counter]["retransmition_url_frame"].setGeometry(QtCore.QRect(10, 10, 410, 225))
self.row_action_widgets[counter]["retransmition_url_frame"].setMinimumSize(QtCore.QSize(0, 0))
self.row_action_widgets[counter]["retransmition_url_frame"].setMaximumSize(QtCore.QSize(16777215, 16777215))
self.row_action_widgets[counter]["retransmition_url_frame"].setStyleSheet("QFrame{border:none;}")
self.row_action_widgets[counter]["retransmition_url_frame"].setFrameShape(QtWidgets.QFrame.StyledPanel)
self.row_action_widgets[counter]["retransmition_url_frame"].setFrameShadow(QtWidgets.QFrame.Raised)
self.row_action_widgets[counter]["gridLayout_2"] = QtWidgets.QGridLayout(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["spacerItem"] = QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
self.row_action_widgets[counter]["gridLayout_2"].addItem(self.row_action_widgets[counter]["spacerItem"], 0, 0, 1, 1)
self.row_action_widgets[counter]["const_url_lineedit"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["const_url_lineedit"].setDragEnabled(True)
self.row_action_widgets[counter]["const_url_lineedit"].setClearButtonEnabled(True)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["const_url_lineedit"], 2, 0, 1, 1)
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setEnabled(False)
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setDragEnabled(True)
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setClearButtonEnabled(True)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"], 5, 0, 1, 1)
self.row_action_widgets[counter]["dynamic_url_website_lineedit"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setEnabled(False)
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setDragEnabled(True)
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setClearButtonEnabled(True)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["dynamic_url_website_lineedit"], 4, 0, 1, 1)
self.row_action_widgets[counter]["dynamic_url_radiobutton"] = QtWidgets.QRadioButton(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["dynamic_url_radiobutton"], 3, 0, 1, 1)
self.row_action_widgets[counter]["youtube_option"] = QtWidgets.QRadioButton(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["youtube_option"], 6, 0, 1, 1)
self.row_action_widgets[counter]["const_url_radiobutton"] = QtWidgets.QRadioButton(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["const_url_radiobutton"].setChecked(True)
self.row_action_widgets[counter]["const_url_radiobutton"].setAutoRepeat(False)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["const_url_radiobutton"], 1, 0, 1, 1)
self.row_action_widgets[counter]["youtube_url"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["youtube_url"].setEnabled(False)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["youtube_url"], 7, 0, 1, 1)
self.row_action_widgets[counter]["groupBox"].setTitle("Αντικατάσταση url αναμετάδοσης; (αν όχι τότε παράλειψη)")
self.row_action_widgets[counter]["const_url_radiobutton"].setText("Εισαγωγή σταθερής Διεύθυνσης url stream")
self.row_action_widgets[counter]["const_url_lineedit"].setPlaceholderText("Πληκτρολογήστε την σταθερή Διεύθυνση url stream")
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setPlaceholderText("javascript κώδικας για την εύρεση της διεύθυνσης του συνεργαζόμενου ραδιοσταθμού")
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setPlaceholderText("Πληκτρολογήστε την διεύθυνσης url web site")
self.row_action_widgets[counter]["youtube_option"].setText("Εισαγωγή youtube live stream url")
self.row_action_widgets[counter]["dynamic_url_radiobutton"].setText("Εισαγωγή διεύθυνσης url web site")
self.row_action_widgets[counter]["youtube_url"].setPlaceholderText("Εισάγετε την youtube διεύθυνση internet ")
self.row_action_widgets[counter]["groupBox"].setStyleSheet("QGroupBox{width:calc(100% - 20px)!important;height:265px!important;background-color:rgb(253, 255, 183);border:none;padding:10px}QGroupBox::title{subcontrol-origin: margin;subcontrol-position: top left;padding: 10px;}")
self.ui.table.setCellWidget(counter,5,self.row_action_widgets[counter]["groupBox"])
self.ui.table.itemAt(counter,5).setSizeHint(QtCore.QSize(self.row_action_widgets[counter]["retransmition_url_frame"].size().width(),265))
#self.ui.table.setRowHeight(counter,265)
return "ok"
if __name__ == "__main__":
program = Run_Me()
执行:python3.10 + pyqt5:python3 run_me.py.py
结果图像:
行高度是错误的。
文件代码中的一个段落更改 run_me.py.py
line:58 same -> def display_table_row(self,counter):
line:59 add -> if counter>0:
line:60 add -> return "ok"
此执行的结果:
怎么了? 还要注意显示两行时的奇怪行为。
File: untitled.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.gridLayout = QtWidgets.QGridLayout(Dialog)
self.gridLayout.setObjectName("gridLayout")
self.table = QtWidgets.QTableWidget(Dialog)
self.table.setFocusPolicy(QtCore.Qt.NoFocus)
self.table.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
self.table.setEditTriggers(QtWidgets.QAbstractItemView.AllEditTriggers)
self.table.setDragEnabled(True)
self.table.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
self.table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectItems)
self.table.setObjectName("table")
self.table.setColumnCount(6)
self.table.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(4, item)
item = QtWidgets.QTableWidgetItem()
self.table.setHorizontalHeaderItem(5, item)
self.table.horizontalHeader().setDefaultSectionSize(200)
self.table.horizontalHeader().setStretchLastSection(True)
self.table.verticalHeader().setVisible(False)
self.gridLayout.addWidget(self.table, 0, 0, 1, 1)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
item = self.table.horizontalHeaderItem(0)
item.setText(_translate("Dialog", "Α/Α"))
item = self.table.horizontalHeaderItem(1)
item.setText(_translate("Dialog", "Είδος"))
item = self.table.horizontalHeaderItem(2)
item.setText(_translate("Dialog", "Τίτλος"))
item = self.table.horizontalHeaderItem(3)
item.setText(_translate("Dialog", "Ακολουθία λιστών αναπαραγωγής"))
item = self.table.horizontalHeaderItem(4)
item.setText(_translate("Dialog", "Διαδρομή / Διεύθυνση Internet"))
item = self.table.horizontalHeaderItem(5)
item.setText(_translate("Dialog", "Ενέργεια"))
File run_me.py
from PyQt5 import QtCore, QtWidgets, QtCore
from untitled import *
import sys
class Run_Me:
def __init__(self):
self.app = QtWidgets.QApplication(sys.argv)
self.Dialog = QtWidgets.QDialog()
self.ui = Ui_Dialog()
self.ui.setupUi(self.Dialog)
self.Dialog.showMaximized()
self.display_table()
sys.exit(self.app.exec_())
def display_table(self):
self.row_action_widgets = []
self.ui.table.setRowCount(0)
counter = 0
display_result = "ok"
#self.error_items.insert(0,self.error_items[0])
verticalHeader = self.ui.table.verticalHeader()
verticalHeader.setSectionResizeMode(QtWidgets.QHeaderView.Fixed)
for row in range(0,5):
self.ui.table.insertRow(counter)
self.row_action_widgets.append({})
self.display_table_row(counter)
counter = counter + 1
if display_result != "ok":
break
self.ui.table.setStyleSheet("QTableWidget{border:1px solid #ABABAB;}QTableWidget::item {border: 0px;padding: 10px 10px 10px 10px; }")
#self.ui.table.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents)
#self.ui.table.setAlternatingRowColors(True)
#self.ui.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self.ui.table.setStyleSheet("QTableWidget::item {border: 0px;padding: 10px 10px 10px 10px; }QTableWidget{border:1px solid #ABABAB;gridline-color:green}\n\nQTableCornerButton::section{border-width: \n 1px; border-color: #BABABA; border-style:solid;border-left:none;border-top:none;}")
self.ui.table.setColumnWidth(0, 90)
self.ui.table.setColumnWidth(1, 200)
self.ui.table.setColumnWidth(2, 200)
self.ui.table.setColumnWidth(3, 300)
self.ui.table.setColumnWidth(4, 200)
self.ui.table.setColumnWidth(5, 450)
self.ui.table.resizeRowsToContents()
def display_table_row(self,counter):
# Α/Α
counter_item = QtWidgets.QTableWidgetItem(str(counter+1))
counter_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,0,counter_item)
# Είδος
type_item = QtWidgets.QTableWidgetItem("Item type")
type_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,1,type_item)
# Τίτλος
title_item = QtWidgets.QTableWidgetItem("Title")
title_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,2,title_item)
# Playlist sequence
sequence_item = QtWidgets.QTableWidgetItem("Sequence text")
sequence_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,3,sequence_item)
# Url / Original path
path_item = QtWidgets.QTableWidgetItem(str("Wrong url or wrong sound file path"))
path_item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.Alignment(QtCore.Qt.TextWordWrap))
self.ui.table.setItem(counter,4,path_item)
#Action frame
self.row_action_widgets[counter]["groupBox"] = QtWidgets.QGroupBox(self.Dialog)
self.row_action_widgets[counter]["groupBox"].setEnabled(True)
#self.row_action_widgets[counter]["groupBox"].setGeometry(QtCore.QRect(10, 0, 410, 265))
self.row_action_widgets[counter]["sizePolicy"] = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
self.row_action_widgets[counter]["sizePolicy"].setHorizontalStretch(0)
self.row_action_widgets[counter]["sizePolicy"].setVerticalStretch(0)
self.row_action_widgets[counter]["sizePolicy"].setHeightForWidth(self.row_action_widgets[counter]["groupBox"].sizePolicy().hasHeightForWidth())
self.row_action_widgets[counter]["groupBox"].setSizePolicy(self.row_action_widgets[counter]["sizePolicy"])
self.row_action_widgets[counter]["groupBox"].setCheckable(True)
self.row_action_widgets[counter]["gridLayout"] = QtWidgets.QGridLayout(self.row_action_widgets[counter]["groupBox"])
self.row_action_widgets[counter]["retransmition_url_frame"] = QtWidgets.QFrame(self.row_action_widgets[counter]["groupBox"])
self.row_action_widgets[counter]["retransmition_url_frame"].setGeometry(QtCore.QRect(10, 10, 410, 225))
self.row_action_widgets[counter]["retransmition_url_frame"].setMinimumSize(QtCore.QSize(0, 0))
self.row_action_widgets[counter]["retransmition_url_frame"].setMaximumSize(QtCore.QSize(16777215, 16777215))
self.row_action_widgets[counter]["retransmition_url_frame"].setStyleSheet("QFrame{border:none;}")
self.row_action_widgets[counter]["retransmition_url_frame"].setFrameShape(QtWidgets.QFrame.StyledPanel)
self.row_action_widgets[counter]["retransmition_url_frame"].setFrameShadow(QtWidgets.QFrame.Raised)
self.row_action_widgets[counter]["gridLayout_2"] = QtWidgets.QGridLayout(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["spacerItem"] = QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
self.row_action_widgets[counter]["gridLayout_2"].addItem(self.row_action_widgets[counter]["spacerItem"], 0, 0, 1, 1)
self.row_action_widgets[counter]["const_url_lineedit"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["const_url_lineedit"].setDragEnabled(True)
self.row_action_widgets[counter]["const_url_lineedit"].setClearButtonEnabled(True)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["const_url_lineedit"], 2, 0, 1, 1)
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setEnabled(False)
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setDragEnabled(True)
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setClearButtonEnabled(True)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"], 5, 0, 1, 1)
self.row_action_widgets[counter]["dynamic_url_website_lineedit"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setEnabled(False)
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setDragEnabled(True)
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setClearButtonEnabled(True)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["dynamic_url_website_lineedit"], 4, 0, 1, 1)
self.row_action_widgets[counter]["dynamic_url_radiobutton"] = QtWidgets.QRadioButton(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["dynamic_url_radiobutton"], 3, 0, 1, 1)
self.row_action_widgets[counter]["youtube_option"] = QtWidgets.QRadioButton(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["youtube_option"], 6, 0, 1, 1)
self.row_action_widgets[counter]["const_url_radiobutton"] = QtWidgets.QRadioButton(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["const_url_radiobutton"].setChecked(True)
self.row_action_widgets[counter]["const_url_radiobutton"].setAutoRepeat(False)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["const_url_radiobutton"], 1, 0, 1, 1)
self.row_action_widgets[counter]["youtube_url"] = QtWidgets.QLineEdit(self.row_action_widgets[counter]["retransmition_url_frame"])
self.row_action_widgets[counter]["youtube_url"].setEnabled(False)
self.row_action_widgets[counter]["gridLayout_2"].addWidget(self.row_action_widgets[counter]["youtube_url"], 7, 0, 1, 1)
self.row_action_widgets[counter]["groupBox"].setTitle("Αντικατάσταση url αναμετάδοσης; (αν όχι τότε παράλειψη)")
self.row_action_widgets[counter]["const_url_radiobutton"].setText("Εισαγωγή σταθερής Διεύθυνσης url stream")
self.row_action_widgets[counter]["const_url_lineedit"].setPlaceholderText("Πληκτρολογήστε την σταθερή Διεύθυνση url stream")
self.row_action_widgets[counter]["dynamic_url_javascript_lineedit"].setPlaceholderText("javascript κώδικας για την εύρεση της διεύθυνσης του συνεργαζόμενου ραδιοσταθμού")
self.row_action_widgets[counter]["dynamic_url_website_lineedit"].setPlaceholderText("Πληκτρολογήστε την διεύθυνσης url web site")
self.row_action_widgets[counter]["youtube_option"].setText("Εισαγωγή youtube live stream url")
self.row_action_widgets[counter]["dynamic_url_radiobutton"].setText("Εισαγωγή διεύθυνσης url web site")
self.row_action_widgets[counter]["youtube_url"].setPlaceholderText("Εισάγετε την youtube διεύθυνση internet ")
self.row_action_widgets[counter]["groupBox"].setStyleSheet("QGroupBox{width:calc(100% - 20px)!important;height:265px!important;background-color:rgb(253, 255, 183);border:none;padding:10px}QGroupBox::title{subcontrol-origin: margin;subcontrol-position: top left;padding: 10px;}")
self.ui.table.setCellWidget(counter,5,self.row_action_widgets[counter]["groupBox"])
self.ui.table.itemAt(counter,5).setSizeHint(QtCore.QSize(self.row_action_widgets[counter]["retransmition_url_frame"].size().width(),265))
#self.ui.table.setRowHeight(counter,265)
return "ok"
if __name__ == "__main__":
program = Run_Me()
Execution: python3.10 + pyqt5: python3 run_me.py
Result image:
The row heights are wrong.
One snippet change in code of file run_me.py
line:58 same -> def display_table_row(self,counter):
line:59 add -> if counter>0:
line:60 add -> return "ok"
Result of this execution:
What's wrong?
Note also strange behaviour in displaying two rows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论