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
相关产品推荐
相关产品推荐

