为什么 QPushButton 不尊重绝对像素大小?
Why does QPushButton not respect absolute pixel size?
我正在开发 运行 在带有触摸 LCD 屏幕的嵌入式设备上的应用程序。对于开发设置,我设置了 Xephyr window 和相同分辨率 (1280x800) 的火柴盒 WM。
我开发了一个客户下拉菜单,它将向下扩展并显示 select 按钮,在我的开发系统上,这看起来像设计的 9)像这样:
在终端设备上,按钮填满了整个 window,如下所示:
功能似乎在那里,但即使固定像素大小用于按钮大小,它似乎占据了整个 window 的 space。它们的“下拉”按钮是从如下列表创建的:
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
行以包含解决问题的 parent:self.drpbtns.append(QtGui.QPushButton(_name,self.parent))
我正在开发 运行 在带有触摸 LCD 屏幕的嵌入式设备上的应用程序。对于开发设置,我设置了 Xephyr window 和相同分辨率 (1280x800) 的火柴盒 WM。
我开发了一个客户下拉菜单,它将向下扩展并显示 select 按钮,在我的开发系统上,这看起来像设计的 9)像这样:
在终端设备上,按钮填满了整个 window,如下所示:
功能似乎在那里,但即使固定像素大小用于按钮大小,它似乎占据了整个 window 的 space。它们的“下拉”按钮是从如下列表创建的:
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
行以包含解决问题的 parent:self.drpbtns.append(QtGui.QPushButton(_name,self.parent))