日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python可视化界面编程 pycharm_pycharm开发一个简单界面和通用mvc模板(操作方法图解)...

發布時間:2023/12/10 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python可视化界面编程 pycharm_pycharm开发一个简单界面和通用mvc模板(操作方法图解)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

一、設計登錄界面

下面開始第一個話題,使用pycharm的 PyQt5 Designer 做一個簡單的界面。

上一篇最后,在pycharm中配置了PyQt5 Designer 和 uic,接下來,使用這些工具,開發一個界面。

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

2) 打開 Designer

3) 選擇Main Windows ,點擊創建

4)新窗口

5)修改窗口標題

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

7) 轉換圖形文件為源代碼

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

生成源代碼 Ui_Main.py

底部提示:Process finished with exit code 0 , 其中 0 表示成功。

如果是 -1 表示執行失敗。

8)查看源代碼

Designer圖形工具設計后生成的源代碼,圖像定義的核心代碼是 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)總結

前面,用 PyQt5 Designer 設計了一個界面,保存為 ui 文件;

通過 uic 將 ui 文件轉換成 py 代碼。

這個py代碼還不能執行,因為這些代碼只是創建了界面的組件。

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

二、通用mvc框架

引入mvc框架的可以解決圖形界面代碼覆蓋的問題,實現界面和控制邏輯分離。

界面生成后,如果把控制邏輯也寫進界面代碼,下一次修改保存界面就會把控制邏輯代碼覆蓋。

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

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

1)新建控制代碼

右鍵點擊 main 目錄,彈出菜單,選擇 New -> Python File

2)通用模板

在Main.py中,增加如下內容:

# -*- 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__': # 判斷本文件是否是啟動入口,__main__是系統賦給啟動模塊的變量值;

app = QtWidgets.QApplication(sys.argv) # 如果是啟動文件,則創建 Application 實例 app

window = MainWindow() # 創建 MainWindow 的實例 window

window.show() # 顯示窗口

sys.exit(app.exec_()) # 捕獲 app 退出狀態

這是一個通用的、最簡單的模板。

通過 from Ui_Main import Ui_MainWindow導入圖形界面的定義類。

通過繼承的方式使用界面類,class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow),并在初始化方法中,調用圖形定義代碼 setupUi()

3) 設置源代碼根目錄

右鍵點擊 main 目錄,選擇 Make Directory as --> Sources Root

4) 運行

上面第3)、4)步圖中的 main.py 應為 Main.py。

總結

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

總結

以上是生活随笔為你收集整理的python可视化界面编程 pycharm_pycharm开发一个简单界面和通用mvc模板(操作方法图解)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。