在QtTableWidget中对齐QLineEdit

时间:2018-02-17 09:55:53

标签: python python-3.x qt pyqt5 qtablewidget

当我尝试按Enter键插入新行时,所有内容看起来都很好,直到超出窗口限制。见下面的例子:

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

解决

1 个答案:

答案 0 :(得分:1)

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

我希望这能帮到你,

此致