PyQt5系列学习笔记之01:通过Qt Creator创建.ui文件,pyuic5翻译.ui文件为.py文件,在PyCharm中调用.py文件

来源:互联网 发布:淘宝自动装修软件 编辑:程序博客网 时间:2024/06/05 10:31

讲在前面的话!

这是我的PyQt5系列学习笔记的第一篇,在本系列教程中我不准备讲解关于开发环境的搭建问题,具体的开发环境的搭建,大家轻搜索百度相关的经验。、

我的开发环境:

  • 操作系统: Ubuntu 14.04 x64 LTS
  • Qt5版本: qt-opensource-linux-x64-5.8.0.run
  • Python版本: Anaconda3-4.4.0-Linux-x86_64.sh
  • PyCharm: pycharm-professional-2017.2.2.tar.gz
  • autopep8: autopep8 1.3.2(用于规范自己的代码)

目的:记录自己的学习过程,方便自己后期的回顾,同时如果该系列学习笔记能够帮助到后来的学习者,我将会为此而感到高兴!

关于转载:大家可以随意转载,但是麻烦请注明如下的转载链接:
http://blog.csdn.net/l1216766050/article/details/78167436

第一步:创建.ui文件

这里写图片描述

第二步:通过pyuic5工具转换.ui文件为.py文件

首先切换到form.ui文件所在的目录,接着执行相关的转换命令:

cd ~/PyCharmProjects/PyQt5pyuic5 form.ui -o form.py

最后输出的.py文件的内容为:

# form.py# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'form.ui'## Created by: PyQt5 UI code generator 5.6## WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):    def setupUi(self, Form):        Form.setObjectName("Form")        Form.resize(400, 300)        self.Count_button = QtWidgets.QPushButton(Form)        self.Count_button.setGeometry(QtCore.QRect(70, 180, 80, 23))        self.Count_button.setObjectName("Count_button")        self.Quit_button = QtWidgets.QPushButton(Form)        self.Quit_button.setGeometry(QtCore.QRect(230, 180, 80, 23))        self.Quit_button.setObjectName("Quit_button")        self.Input_number = QtWidgets.QLineEdit(Form)        self.Input_number.setGeometry(QtCore.QRect(131, 100, 125, 23))        self.Input_number.setObjectName("Input_number")        self.Input_number.setText("")        self.Input = QtWidgets.QLabel(Form)        self.Input.setGeometry(QtCore.QRect(71, 101, 36, 16))        font = QtGui.QFont()        font.setPointSize(9)        self.Input.setFont(font)        self.Input.setObjectName("Input")        self.Show = QtWidgets.QLabel(Form)        self.Show.setGeometry(QtCore.QRect(71, 140, 36, 16))        self.Show.setObjectName("Show")        self.Show_result = QtWidgets.QLabel(Form)        self.Show_result.setGeometry(QtCore.QRect(131, 140, 125, 23))        self.Show_result.setText("")        self.Show_result.setObjectName("Show_result")        self.Show_result.setFrameShape(QtWidgets.QFrame.Panel)        self.Show_result.setFrameShadow(QtWidgets.QFrame.Sunken)        self.retranslateUi(Form)        QtCore.QMetaObject.connectSlotsByName(Form)    def retranslateUi(self, Form):        _translate = QtCore.QCoreApplication.translate        Form.setWindowTitle(_translate("Form", "Form"))        self.Count_button.setText(_translate("Form", "count"))        self.Quit_button.setText(_translate("Form", "quit"))        self.Input.setText(_translate("Form", "Input:"))        self.Show.setText(_translate("Form", "show:"))

第三步:创建main函数,来调用form.py文件

#pyqt02-use_py_file_created_by_ui.pyfrom PyQt5 import QtWidgetsfrom form import Ui_Formclass MyWidget(Ui_Form):    def __init__(self, parent=None):        pass        # super(MyWidget, self).__init__()if __name__ == '__main__':    import sys    app = QtWidgets.QApplication(sys.argv)    base = QtWidgets.QWidget()#创建基本窗口    base.move(800, 400)#将窗口移动到距离屏幕左上角的具体位置    w = MyWidget()#创建用户界面类的实例    w.setupUi(base)#将用户界面加载到基本窗口    base.show()#显示基本窗口,这样基于基本窗口的内容我们都可以看到了    sys.exit(app.exec_())

第四步:运行包含main函数的.py文件,输出界面

python pyqt02-use_py_file_created_by_ui.py

这里写图片描述

总结

在这篇学习笔记中,涉及到的知识点还是比较简单的,需要自己编写代码的地方很少。
下一篇PyQt5系列学习笔记之02将继续完善这个小例子:
涉及到的内容有:

  1. 各种常用Widget的属性设置
  2. LineEdit内容的读取;
  3. 显示计算的结果到Label;
  4. 演示PyQt5中的signal和slot的调用;
  5. 介绍网格布局GRidLayout
阅读全文
0 0