170318 Qt-第一个程序

1625-5 王子昂 总结《2017年3月17日》 【连续第167天总结】

A.QTPY第一次运行

B.由于要做windows项目于是开始尝试使用QT,PY简洁顺手就准备在代码端使用python

虽然有PYQT这个方便使用的库,但是连接上可真不容易……

官网上只有一个zip文件,不知道如何导入

pip命令下了好多都没法使用,杂七杂八的太多

最后终于找到一个exe安装上,里面自带一个py3,然后按照教程在pycharm上设置好UIC工具

Qt Designer设置好界面,可以导出一个UI文件,再使用UIC工具将它编译成py文件即可直接编写命令

第一次就试着写了一个按钮,连接上一个标签,大概理解了QT的信号槽机制--信号为触发事件,槽则为回调事件

编译出的命令文件是这样的:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'test.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
import sys


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1083, 842)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.civilied = QtWidgets.QLabel(self.centralwidget)
        self.civilied.setGeometry(QtCore.QRect(0, 0, 131, 831))
        self.civilied.setText("")
        self.civilied.setObjectName("civilied")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(300, 200, 93, 28))
        self.pushButton.setObjectName("pushButton")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.pushButton.clicked.connect(self.civilied.clear)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "PushButton"))
 
  
	一个类,内含两个函数。直接在pytcharm中运行发现没有响应,查询后得知需要自己继承一个类。多方调试终于成功:
 
  
class Myapp(QtWidgets.QDialog,Ui_MainWindow):
    def __init__(self):
        super(Myapp,self).__init__()
        Ui_MainWindow.__init__()
        self.setupUi(self)
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QMainWindow()
ui=Ui_MainWindow()
ui.setupUi(widget)
widget.show()
sys.exit(app.exec_())
其中QMainWindow()类与Qt Designer中新建的窗口有关。Widget为通用空间,MainWindow则是主窗口。
	明天再跟着教程详细研究信号槽和QT库。
C.	明日计划
	QT机制和库
	汇编第三章

你可能感兴趣的:(170318 Qt-第一个程序)