【问题标题】:How to resize the widget that hold a QTableView?如何调整包含 QTableView 的小部件的大小?
【发布时间】:2012-11-02 09:03:52
【问题描述】:

我在小部件内的布局本身中有一个 QTableView。 如何在调用 tableView.resizeColumnsToContents() 后设置 Widget 大小以便具​​有相同大小的表格(并且不需要滚动条) 谢谢

【问题讨论】:

    标签: pyqt4 qtableview


    【解决方案1】:

    如果我正确理解您想要的是将容器小部件的水平大小调整为表格 contents 的大小(不一定是表格大小)。以下方法适用于我的 20 行 3 列小表格:

    • 向表模型询问总列数(它应该由您的 columnCount 方法的实现返回)
    • 使用columnWidth 方法向视图询问每列的宽度并计算列的总宽度
    • 最后调整容器小部件的大小,考虑列的总宽度、表格垂直标题的宽度和自动滚动边距

    所以代码看起来像:

    my_table_view.resizeColumnsToContents()
    w = 0
    for c in range(my_table_model.columnCount()):
        w = w + my_table_view.columnWidth(c)
    container_widget.resize(w + my_table_view.verticalHeader().width() + my_table_view.autoScrollMargin()*1.5, container_widget.size().height())
    

    正如我所说,我假设您想要水平调整小部件的大小。

    【讨论】:

    • 你完全理解我的需要!我会试试这个解决方案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2015-01-13
    • 2021-01-09
    • 1970-01-01
    • 2018-04-18
    相关资源
    最近更新 更多