我正在为喜欢使用键盘而不是鼠标的人(例如Emacs用户)编写Python和PyQt5程序。我认为某些按钮显示执行其操作的键快捷键会很有用,如下所示:
实现此目的的一种方法似乎是子类QPushButton
,覆盖其paintEvent
方法,使用QPushButton
的绘画,然后使用{{1}绘制它}和QPainter.drawRoundedRect
。但是,我是Qt的新手并且有一些问题:
QPainter.drawText
,sizeHint
,其他一些人?minimumSizeHint
的文字和图标偏离中心绘制,这样当我在其上绘制关键快捷键时,它的大小是否合适并居中?答案 0 :(得分:1)
可以在首选字符前面指定快捷键 在文中用&符号。例如:
QPushButton *button = new QPushButton("&Download", this);
这将使用平台默认方式来指示快捷键的内容。
如果您想要自定义外观和灵活性,最好实现“完整”或称为“专业”小部件。在这两种情况下,使用QtWidgets,您都会手动进行绘画。还要考虑您是否需要自定义或平台本机外观。
自定义UI的最佳解决方案是远离QtWidget堆栈并使用QtQuick2。但我不确定Python的可用性。