使用pycharm结合qt设计师进行gui设计时,有部分代码是通用的,可以将这部分的代码设置为快捷模板。
-
在软件中依次点击File-Setting,如图
-
按照下图中的显示,找到Live Templates,将其中的Python项展开
-
点击右边的加号,选择Live Templates
-
下图红框1处为快捷模板的快捷缩写,比如可以写qto。2处为对该快捷模板的描述。3处为快捷模板内容。
-
将下面的代码填写到上图中的红框3处。代码中的 t i t l e title title在实际中为ui文件转换后py文件的文件名。
# 日期: 2023/4/17 14:45
from PyQt5.Qt import *
from $title$ import Ui_Form
class Window(QWidget, Ui_Form):
def __init__(self):
super().__init__()
self.setup_ui() # 渲染画布
def setup_ui(self):
self.setupUi(self) # 调用Ui_Form的setupUi渲染界面
if __name__ == "__main__":
import sys
from PyQt5 import QtCore
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling) # 设置支持高分辨率屏幕自适应,防止界面乱板,一般在程序入口添加
app = QApplication(sys.argv)
mywindow = Window()
mywindow.show()
sys.exit(app.exec_())
上面那段代码的解释:
-
app = QApplication(sys.argv):创建一个 Qt 应用程序对象 QApplication,并将命令行参数 sys.argv 传递给它。QApplication 是 PyQt 库中的一个核心类,用于管理 Qt 应用程序的事件循环和 GUI 线程等。
-
mywindow = Window():创建一个自定义窗口类 Window 的实例对象 mywindow,用于显示应用程序的主窗口。
-
mywindow.show():将自定义窗口对象 mywindow 显示在屏幕上。show() 是 QWidget 类的一个方法,用于显示窗口对象。
-
sys.exit(app.exec_()):进入 Qt 应用程序的主事件循环,等待用户交互事件的发生。当用户关闭主窗口或者调用 QApplication.quit() 方法时,事件循环结束,app.exec_() 方法返回一个退出状态码,然后通过 sys.exit() 方法将此状态码传递给操作系统,结束应用程序的运行。
-
将上述模板应用在python代码编写中,如下图设置,在红框2处勾选python。
-
经过上面的设置后,在编写代码时,可以直接输入qto,pycharm软件便会提示快捷模板,此时直接点击回车即可输入模板。
注意: 在上面的代码中,创建的类使用了多继承,但是一定要注意,使用qt设计师创建的窗口类型一定要和另一个继承的类相同。例如上面qt设计师创建的窗口为Qwidget类型,所以上面代码中多继承的另一个继承类型也是Qwidget。如果使用qt设计师创建的窗口类型为QMainWindow,则代码应该为class Window(QMainWindow, Ui_MainWindow):,即继承的另一个类应该也是QMainWindow。
参考:
https://blog.csdn.net/g11023225/article/details/119274622?spm=1001.2014.3001.5506
https://zhuanlan.zhihu.com/p/401503085