Qt 按钮样式从 ui 预览到原始 window

Qt buttons style varying from ui preview to original window

我正在尝试使用 qt creator 和 PyQt5 设计一个虚拟键盘,问题是,按钮在 qt creator 中看起来很现代,当我执行 python 文件时,我得到了一个非常旧的样式按钮。我怎样才能得到原来的造型?

使用的按钮代码是,

    self.Q = QtWidgets.QPushButton(self.KEYBOARD)
    self.Q.setGeometry(QtCore.QRect(0, 0, 80, 60))
    font = QtGui.QFont()
    font.setPointSize(20)
    self.Q.setFont(font)
    self.Q.setObjectName("Q")

这是qt creator中的ui渲染。

这是执行python文件时的那个

我的工作环境是,

RELEASE=18.1
CODENAME=serena
EDITION="Cinnamon 64-bit"
DESCRIPTION="Linux Mint 18.1 Serena"
DESKTOP=Gnome
TOOLKIT=GTK
NEW_FEATURES_URL=http://www.linuxmint.com/rel_serena_cinnamon_whatsnew.php
RELEASE_NOTES_URL=http://www.linuxmint.com/rel_serena_cinnamon.php
USER_GUIDE_URL=help:linuxmint
GRUB_TITLE=Linux Mint 18.1 Cinnamon 64-bit

Qt 使用 QStyle class 处理样式,通常 Qt Designer 使用样式融合,所以它以这种方式显示,这与配置的样式不匹配 OS:

您的解决方案是使用以下代码配置使用融合样式的应用程序:

app = QApplication(sys.argv)
app.setStyle("fusion")