# ============================================================
# ViperQtHelloWorld - vqt6 的第一个示例
#
# 创建一个 Qt6 窗口：
#   - 标题: "vqt6 Hello"
#   - 大小: 400x300
#   - 居中文本: "你好，Viper！"
#   - 一个按钮: "退出"（点击关闭应用）
#
# 使用 vqt6 (Viper 的 Qt6 绑定) 创建窗口
# ============================================================

import t
import c
import vqt6
import w32.win32console as w32cmd


pagecode: t.CDefine = 65001


@t.CExport
def main() -> int:
    w32cmd.SetConsoleOutputCP(pagecode)
    w32cmd.SetConsoleCP(pagecode)

    print("[vqt6] 正在创建 QApplication...")

    # 1. 创建 QApplication
    app: vqt6.QApplication = vqt6.QApplication([])

    print("[vqt6] 正在创建窗口...")

    # 2. 创建主窗口
    window: vqt6.QWidget = vqt6.QWidget()
    window.setWindowTitle("vqt6 Hello")
    window.resize(400, 300)
    window.setGeometry(100, 100, 400, 300)

    # 3. 创建居中文本标签
    label: vqt6.QLabel = vqt6.QLabel("你好，Viper！", window)
    label.setAlignment(vqt6.QT_ALIGN_CENTER)

    # 4. 创建退出按钮
    button: vqt6.QPushButton = vqt6.QPushButton("退出", window)

    # 5. 显示窗口
    window.show()

    print("[vqt6] 窗口已显示，进入事件循环")
    print("[vqt6] 关闭窗口以退出程序")

    # 6. 进入事件循环
    ret: int = app.exec()

    print(f"[vqt6] 应用退出，返回码: {ret}")
    return ret
