You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QtCreator开发Python项目添加clicked槽遇.h文件请求及工具疑问

PySide6 + QtCreator 常见问题解答

关于索要.h文件的问题

  • QtCreator核心是为C版Qt打造的工具,底层逻辑默认围绕C项目的头文件(.h)、源文件(.cpp)分离模式设计。你创建的是Python项目,但工具的部分提示还没完全适配Python工作流,所以会出现索要.h文件的情况——这不是你的操作问题,直接忽略即可,完全用Python的方式编写槽函数就行。

关于ui_form.py代码被覆盖的问题

  • pyside6-uic form.ui -o ui_form.py的作用是完全重新生成可视化设计对应的Python代码,每次执行都会覆盖原有的ui_form.py内容,你在里面写的自定义代码被清空是工具的正常行为。
  • 正确的工作流是:永远不要修改自动生成的ui_form.py,而是新建独立的业务代码文件(比如main_window.py),通过继承UI类的方式编写逻辑:
# main_window.py
from ui_form import Ui_MainWindow
from PySide6.QtWidgets import QMainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        # 在这里绑定信号与槽
        self.pushButton.clicked.connect(self.on_button_clicked)
    
    def on_button_clicked(self):
        print("按钮被点击")

然后在主入口文件(比如main.py)调用这个子类:

# main.py
import sys
from PySide6.QtWidgets import QApplication
from main_window import MainWindow

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())

这样后续修改.ui文件后,再执行pyside6-uic命令重新生成ui_form.py,你写的自定义逻辑完全不会受影响,还能随时调整界面设计。

内容的提问来源于stack exchange,提问作者Christian_uy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:07:04