欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pycharm開(kāi)發(fā)一個(gè)簡(jiǎn)單界面和通用mvc模板(操作方法圖解)

 更新時(shí)間:2020年05月27日 11:20:04   作者:teamlet  
這篇文章主要介紹了pycharm開(kāi)發(fā)最簡(jiǎn)單的界面和通用mvc模板的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

文章首先使用pycharm的 PyQt5 Designer 做一個(gè)簡(jiǎn)單的界面,然后引入所謂的“mvc框架”。

一、設(shè)計(jì)登錄界面

下面開(kāi)始第一個(gè)話題,使用pycharm的 PyQt5 Designer 做一個(gè)簡(jiǎn)單的界面。

上一篇最后,在pycharm中配置了PyQt5 Designer 和 uic,接下來(lái),使用這些工具,開(kāi)發(fā)一個(gè)界面。

1、首先打開(kāi) Designer1) 在左側(cè)任意位置(下圖桔色框內(nèi))點(diǎn)擊右鍵,彈出菜單,在External Tools 選中 PyQt5 Designer

在這里插入圖片描述

2) 打開(kāi) Designer

在這里插入圖片描述

3) 選擇Main Windows ,點(diǎn)擊創(chuàng)建

在這里插入圖片描述

4)新窗口

在這里插入圖片描述

5)修改窗口標(biāo)題

在這里插入圖片描述

6)保存到項(xiàng)目的main目錄下,名稱為 Main.ui

在這里插入圖片描述
在這里插入圖片描述

7) 轉(zhuǎn)換圖形文件為源代碼

右鍵選中 Main.ui ,彈出菜單,選中 External Tools --> uic

在這里插入圖片描述

生成源代碼 Ui_Main.py
底部提示:Process finished with exit code 0 , 其中 0 表示成功。
如果是 -1 表示執(zhí)行失敗。

在這里插入圖片描述

8)查看源代碼

Designer圖形工具設(shè)計(jì)后生成的源代碼,圖像定義的核心代碼是 setupUi()方法。

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'D:\projects\pycharm\p377test\main\Main.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
 def setupUi(self, MainWindow):
  MainWindow.setObjectName("MainWindow")
  MainWindow.resize(800, 600)
  self.centralwidget = QtWidgets.QWidget(MainWindow)
  self.centralwidget.setObjectName("centralwidget")
  MainWindow.setCentralWidget(self.centralwidget)
  self.menubar = QtWidgets.QMenuBar(MainWindow)
  self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26))
  self.menubar.setObjectName("menubar")
  MainWindow.setMenuBar(self.menubar)
  self.statusbar = QtWidgets.QStatusBar(MainWindow)
  self.statusbar.setObjectName("statusbar")
  MainWindow.setStatusBar(self.statusbar)
  self.retranslateUi(MainWindow)
  QtCore.QMetaObject.connectSlotsByName(MainWindow)
 def retranslateUi(self, MainWindow):
  _translate = QtCore.QCoreApplication.translate
  MainWindow.setWindowTitle(_translate("MainWindow", "登錄"))

9)總結(jié)

前面,用 PyQt5 Designer 設(shè)計(jì)了一個(gè)界面,保存為 ui 文件;
通過(guò) uic 將 ui 文件轉(zhuǎn)換成 py 代碼。

這個(gè)py代碼還不能執(zhí)行,因?yàn)檫@些代碼只是創(chuàng)建了界面的組件。

需要編寫(xiě)控制代碼,才能顯示界面。

二、通用mvc框架

引入mvc框架的可以解決圖形界面代碼覆蓋的問(wèn)題,實(shí)現(xiàn)界面和控制邏輯分離。

界面生成后,如果把控制邏輯也寫(xiě)進(jìn)界面代碼,下一次修改保存界面就會(huì)把控制邏輯代碼覆蓋。

因此,防止代碼覆蓋的角度,需要將控制邏輯和界面代碼分離,這樣無(wú)論如何怎樣修改界面代碼,也不影響控制邏輯的代碼。

第二點(diǎn),從設(shè)計(jì)模式為出發(fā)點(diǎn),考慮客戶端應(yīng)用以及組件的控制方式,mvc模式是最佳的實(shí)踐。通過(guò)將代碼按照界面(View)、數(shù)據(jù)模型(Model)和控制邏輯(Control)進(jìn)行劃分,每一個(gè)部分關(guān)注應(yīng)用的不同功能,代碼分工清晰,責(zé)任明確。

1)新建控制代碼

右鍵點(diǎn)擊 main 目錄,彈出菜單,選擇 New -> Python File

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

2)通用模板

在Main.py中,增加如下內(nèi)容:

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
import sys
from Ui_Main import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
 # ---------------------------------------------------------------------------------
 #
 #  初始化
 #
 # ---------------------------------------------------------------------------------
 def __init__(self):
  super(MainWindow, self).__init__()
  self.setupUi(self)
if __name__ == '__main__': # 判斷本文件是否是啟動(dòng)入口,__main__是系統(tǒng)賦給啟動(dòng)模塊的變量值;
 app = QtWidgets.QApplication(sys.argv) # 如果是啟動(dòng)文件,則創(chuàng)建 Application 實(shí)例 app
 window = MainWindow()     # 創(chuàng)建 MainWindow 的實(shí)例 window
 window.show()       # 顯示窗口
 sys.exit(app.exec_())     # 捕獲 app 退出狀態(tài)

這是一個(gè)通用的、最簡(jiǎn)單的模板。
通過(guò) from Ui_Main import Ui_MainWindow導(dǎo)入圖形界面的定義類。
通過(guò)繼承的方式使用界面類,class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow),并在初始化方法中,調(diào)用圖形定義代碼 setupUi()

3) 設(shè)置源代碼根目錄

右鍵點(diǎn)擊 main 目錄,選擇 Make Directory as --> Sources Root
在這里插入圖片描述

4) 運(yùn)行

在這里插入圖片描述
在這里插入圖片描述
上面第3)、4)步圖中的 main.py 應(yīng)為 Main.py。

總結(jié)

到此這篇關(guān)于pycharm開(kāi)發(fā)一個(gè)簡(jiǎn)單界面和通用mvc模板(操作方法圖解)的文章就介紹到這了,更多相關(guān)pycharm開(kāi)發(fā)界面和通用mvc模板內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 生成器和迭代器的原理解析

    python 生成器和迭代器的原理解析

    這篇文章主要介紹了python 生成器和迭代器的原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Django安裝配置mysql的方法步驟

    Django安裝配置mysql的方法步驟

    這篇文章主要介紹了Django安裝配置mysql的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python自動(dòng)化測(cè)試之Selenium詳解

    python自動(dòng)化測(cè)試之Selenium詳解

    這篇文章主要為大家詳細(xì)介紹了python自動(dòng)化測(cè)試之Selenium,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • 在k8s上部署pytorch分布式程序的完整步驟記錄

    在k8s上部署pytorch分布式程序的完整步驟記錄

    Kubernetes的核心優(yōu)勢(shì)在于其能夠提供一個(gè)可擴(kuò)展、靈活且高度可配置的平臺(tái),使得應(yīng)用程序的部署、擴(kuò)展和管理變得前所未有的簡(jiǎn)單下面這篇文章主要給大家介紹了關(guān)于在k8s上部署pytorch分布式程序的完整步驟,需要的朋友可以參考下
    2024-08-08
  • Python個(gè)人博客程序開(kāi)發(fā)實(shí)例后臺(tái)編寫(xiě)

    Python個(gè)人博客程序開(kāi)發(fā)實(shí)例后臺(tái)編寫(xiě)

    這篇文章主要介紹了怎樣用Python來(lái)實(shí)現(xiàn)一個(gè)完整的個(gè)人博客系統(tǒng),我們通過(guò)實(shí)操上手的方式可以高效的鞏固所學(xué)的基礎(chǔ)知識(shí),感興趣的朋友一起來(lái)看看吧
    2022-12-12
  • python中os.path.join()函數(shù)實(shí)例用法

    python中os.path.join()函數(shù)實(shí)例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中os.path.join()函數(shù)實(shí)例用法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-05-05
  • Django中使用haystack+whoosh實(shí)現(xiàn)搜索功能

    Django中使用haystack+whoosh實(shí)現(xiàn)搜索功能

    這篇文章主要介紹了Django之使用haystack+whoosh實(shí)現(xiàn)搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 遍歷python字典幾種方法總結(jié)(推薦)

    遍歷python字典幾種方法總結(jié)(推薦)

    下面小編就為大家?guī)?lái)一篇遍歷python字典幾種方法總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • pandas時(shí)間序列之如何將int轉(zhuǎn)換成datetime格式

    pandas時(shí)間序列之如何將int轉(zhuǎn)換成datetime格式

    這篇文章主要介紹了pandas時(shí)間序列之如何將int轉(zhuǎn)換成datetime格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Django使用模板后無(wú)法找到靜態(tài)資源文件問(wèn)題解決

    Django使用模板后無(wú)法找到靜態(tài)資源文件問(wèn)題解決

    這篇文章主要介紹了Django使用模板后無(wú)法找到靜態(tài)資源文件問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論