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

讲在前面的话!

这是我的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文件

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

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

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

cd ~/PyCharmProjects/PyQt5
pyuic5 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, QtWidgets

class 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.py

from PyQt5 import QtWidgets
from form import Ui_Form

class 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系列学习笔记之01:通过Qt Creator创建.ui文件,pyuic5翻译.ui文件为.py文件,在PyCharm中调用.py文件_第2张图片

总结

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

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

你可能感兴趣的:(PyQt5)