Как использовать «?»на панели плитки окна QDialog? - PullRequest
0 голосов
/ 11 октября 2018

В окне, сгенерированном QDialog с QT Designer, появляется '?'кнопка в строке заголовка окна.Как подключить эту кнопку к HTML-файлу, который отображает справочную информацию?Я ожидал, что в QT Designer будет объект, который ссылается на '?'Кнопка, но я не могу найти его.

enter image description here

1 Ответ

0 голосов
/ 11 октября 2018

Я не понимаю, почему вы хотите использовать кнопку, но если вы хотите обнаружить событие щелчка и предположить, что вы находитесь в Windows, тогда возможное решение - использовать метод nativeEvent(), поскольку этот элемент зависит от каждой платформы:

import ctypes.wintypes
import win32con
from  PyQt5 import QtWidgets


class Dialog(QtWidgets.QDialog):
    def nativeEvent(self, eventType, message):
        msg = ctypes.wintypes.MSG.from_address(message.__int__())
        if eventType == "windows_generic_MSG":
            if msg.message == win32con.WM_NCLBUTTONDOWN:
                print("Hello World")
        return super(Dialog, self).nativeEvent(eventType, message)


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = Dialog()
    w.exec_()
...