为什么 QPushButton 不尊重绝对像素大小?

问题描述

我正在开发一个在带有触摸屏的嵌入式设备上运行的应用程序。对于开发设置,我使用相同分辨率 (1280x800) 的火柴盒 WM 设置了 Xephyr 窗口。

我开发了一个客户下拉菜单,它将向下扩展病房并显示选择按钮,在我的开发系统上,这看起来像设计的 9)这样的:

enter image description here

在终端设备上,按钮填满整个窗口,如下所示:

enter image description here

功能似乎在那里,但即使固定像素大小用于按钮大小,它似乎也占据了整个窗口的空间。它们的“下拉”按钮是从如下列表中创建的:

btn_size = QtCore.QSize(206,57)

        for n in btnlist:
            _name = str(n)
            self.drpbtns.append(QtGui.QPushButton(_name))
            self.drpbtns[i].clicked.connect(lambda checked,v=_name: func(v))
            self.drpbtns[i].resize(btn_size)
            self.drpbtns[i].move(x,y+(i*(self.drpbtns[i].height()-1)))
            self.drpbtns[i].setStyleSheet('background-color: rgb(255,255,255); \
                                           border: 1px solid rgb(216,216,216); \
                                           color: rgb(92,92,92); \
                                           font: bold 22pt "Avenir"')
            self.drpbtns[i].setFlat(True)


            i = i+1

为什么按钮不尊重分配的 QSize()

我在 Qt Forum 处开始了一个新线程,并将确保回复在两个线程之间交叉填充!

解决方法

事实证明,我在这里找到了解决问题的方法:https://forum.qt.io/topic/78752/how-to-place-widgets-by-specifying-positions-in-qframe

我更改了 QPushButton 行以包含解决问题的父项:self.drpbtns.append(QtGui.QPushButton(_name,self.parent))