python - QDialog中的中心确定按钮
问题描述
是否可以在 QDialog 中将 OK 按钮居中?
class CustomDialog(QDialog):
def __init__(self, text, parent):
super().__init__(parent)
self.setFixedSize(200, 100)
self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.WindowTitleHint | Qt.Window
| Qt.CustomizeWindowHint)
QBtn = QDialogButtonBox.Ok
self.buttonBox = QDialogButtonBox(QBtn)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.layout = QVBoxLayout()
message = QLabel(text)
self.layout.addWidget(message)
self.layout.addWidget(self.buttonBox)
self.setLayout(self.layout)
该对话框仅显示“确定”按钮,我希望它居中而不是右
解决方案
最简单的方法是使用centerButtons
属性:
self.buttonBox.setCenterButtons(True)
还要考虑默认情况下,通过尝试填充布局“单元格”中的所有可用空间来将小部件添加到布局中。指定对齐方式会通过使用其大小提示作为最大空间来对齐小部件。
因此,另一种方法是更改为:
self.layout.addWidget(self.buttonBox, alignment=Qt.AlignCenter)
推荐阅读
- r - 为条形图翻转ggplot y轴?
- c# - 代码似乎在 Parallel.For 循环完成之前继续前进
- python - 是否可以使用 Python 禁用 chrome 中的窗口关闭按钮?
- javascript - 如何在私有包 npm 中安装公共包
- wordpress - 谷歌搜索图标显示 wordpress 图标
- c - 尝试在 Visual Studio 2019 中编译程序时的 LNK2005 和 LNK1169
- php - 为什么我的 Symfony 路由被其他路由覆盖?
- twilio - Twilio 客户端未收到传入事件
- mongodb - Mongo如何按无序嵌套字段过滤
- kotlin - 为什么 var 或 val 不允许在 kotlin 中的函数参数中使用?