import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic

form_class = uic.loadUiType("main_window.ui")[0]

class MyWindow(QMainWindow, form_class):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.ButtonClick)

def ButtonClick(self):
print ("Button Click")

if __name__ == "__main__":
app = QApplication(sys.argv)
myApp = MyWindow()
myApp.show()
app.exec_()

형들 나 완전 개초보라... 어디다가 물어봐야 될지 모르겠어ㅠㅠ

소스는 개 간단함. 그냥 버튼 한 개 있는 윈도우 화면인데...

여기서 윈도우 PostMessage 를 받게 하려면 어떻게 해야돼?

예를들어 WM_CLOSE 이벤트가 발생하면 OnClose 함수를 호출하고 싶다고 하면...?

구글을 겁나 찾아보니

message_map = {
win32con.WM_DESTROY: self.onDestroy,
win32con.WM_CLOSE: self.onClose
}
# Register the Window class.
wc = win32gui.WNDCLASS()
hinst = wc.hInstance = win32api.GetModuleHandle(None)
wc.lpszClassName = "PythonTaskbarDemo"
wc.style = win32con.CS_VREDRAW | win32con.CS_HREDRAW;
wc.hCursor = win32gui.LoadCursor(0, win32con.IDC_ARROW)
wc.hbrBackground = win32con.COLOR_WINDOW
wc.lpfnWndProc = message_map # could also specify a wndproc.
classAtom = win32gui.RegisterClass(wc)
# Create the Window.
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
self.hwnd = win32gui.CreateWindow(classAtom, "Taskbar Demo", style,
0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \
0, 0, hinst, None)
win32gui.UpdateWindow(self.hwnd)

뭐 이런식으로 message_map 튜플에 넣어서 어떻게 하는거 같은데...

처음에 있는 소스에다가 어떻게 대입할지도 모르겠고...

내가 맞게 물어보는지도 모르겠다ㅠㅠ

혹시 아는 형들 있을까?