相关疑难解决方法(0)

问:如何强制隐藏的小部件来计算其布局?

我想要做的是将qwidget渲染到不同的窗口(手动使用QPainter)

我有一个带有布局和一堆子控件的QWidget(w).w是隐藏的.在显示w之前,没有发生布局计算,这是预期的.

当我打电话时w->render(painter, w->mapToGlobal(QPoint(0,0)),我得到一堆控件都相互重叠.
w->layout()->activate();w->layout()->update()好像什么也没做.

有没有办法强制布局发生而不显示w?

c++ user-interface qt

16
推荐指数
2
解决办法
1万
查看次数

如何在show()之前预览布局中小部件的大小?

实际应用show()窗口小部件窗口之前,如何预览应用布局规则后窗口中窗口小部件的大小?在初始show()命令之前,似乎所有尺寸都是100x30 .我该如何解决这个问题?

qt

16
推荐指数
2
解决办法
6633
查看次数

pyqt QTablewidget删除滚动条以显示完整表

我有一个可向其中动态添加QTableWidgets的滚动视图。但是,QTables本身也具有滚动条,因此不会显示完整表。有没有一种方法可以禁用滚动条,以便始终显示完整的表格?

在此处输入图片说明

编辑:我添加了

    self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
    self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
Run Code Online (Sandbox Code Playgroud)

按照建议。滚动条确实消失了,但是它仍然只显示部分表格(Ican可以在表格上悬停并使用鼠标滚轮进行滚动)。窗口小部件的代码如下

from PySide.QtGui import *
from PySide.QtCore import *

class MdTable(QTableWidget):
    def __init__(self, data, depth, *args):

        QTableWidget.__init__(self, *args)
        self.hheaders = ["c1", "c2", "c3", "c4"]
        self.depth = depth
        self.bids = data
        self.setData()

    def setData(self):

        self.setRowCount(self.depth)
        self.setColumnCount(5)

        for i in xrange(self.depth):
            if len(self.data) > i:
                d1= QTableWidgetItem(str(self.data[i][0]))
                d2= QTableWidgetItem(str(self.data[i][1]))
                self.setItem(i, 1, d1)
                self.setItem(i, 2, d2)

        self.setHorizontalHeaderLabels(self.hheaders)
        self.verticalHeader().setVisible(False)
        self.resizeRowsToContents()
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
Run Code Online (Sandbox Code Playgroud)

python pyqt qtablewidget pyside

6
推荐指数
1
解决办法
3951
查看次数

标签 统计

qt ×2

c++ ×1

pyqt ×1

pyside ×1

python ×1

qtablewidget ×1

user-interface ×1