在 QtableWidget 中对齐 QLineEdit

Aligning a QLineEdit inside QtTableWidget

当我尝试按 Enter 键插入新行时,一切看起来都很好,直到超过 window 的限制。请参见下面的示例:

Disalignment example

我试过这个(Widget alignment in cell pyqt),这和我的问题差不多,但没法解决。

下一段代码执行错误:

from PyQt5 import QtWidgets
import sys

app = QtWidgets.QApplication([])
table = QtWidgets.QTableWidget(0, 1)


def create_empty_row():
    widget_completer = QtWidgets.QLineEdit()
    widget_completer.returnPressed.connect(
        create_empty_row)
    _rows = table.rowCount()
    table.setRowCount(_rows + 1)
    table.setCellWidget(_rows, 0,
                        widget_completer)

create_empty_row()

table.show()
sys.exit(app.exec_())

我也尝试以编程方式填充 QTableWidget,一切看起来都很好,QLineEdit 也没有错位。但是我必须按需插入新行。

如何在 QTableWidget 中对齐 QLineEdit?

谢谢!!

编辑

使用resizeRowToContents

解决

您没有为不同的小部件设置正确的几何图形。所以,问题是 QTableWidget 的高度应该是 ScreenHeight - QLineEdit.height。通过此更改,QLineEdit 几何图形与 QTableWidget 不匹配,应该对齐。

希望对你有所帮助,

此致