国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PyQt5利用Qt Designer制作一個可以拖動獲取文件信息的頁面

這篇具有很好參考價值的文章主要介紹了PyQt5利用Qt Designer制作一個可以拖動獲取文件信息的頁面。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言
本篇在講什么

用pyqt5制作一個簡單的程序,拖動文件或腳本可以讀取文件信息
本篇適合什么

適合初學PyQt5的小白
本篇需要什么

Python語法有簡單認知
Qt有簡單認知
依賴Pycharm編輯器

本篇的特色

具有全流程的圖文教學
重實踐,輕理論,快速上手
提供全流程的源碼內容

python拖拽獲取文件路徑pyqt5win是不能拖動文件嗎,pyhton學習筆記,qt,python,ui
★提高閱讀體驗★

?? ? 一級標題 ??

?? ? 二級標題 ??

?? ? 三級標題 ??

?? ? 四級標題 ??

? 演示

以下效果是制作完成后的整體演示效果

python拖拽獲取文件路徑pyqt5win是不能拖動文件嗎,pyhton學習筆記,qt,python,ui


? 制作頁面

python拖拽獲取文件路徑pyqt5win是不能拖動文件嗎,pyhton學習筆記,qt,python,ui
python拖拽獲取文件路徑pyqt5win是不能拖動文件嗎,pyhton學習筆記,qt,python,ui

頁面很簡單,只有一個QTextEdit組件用來顯示文件信息


? 重寫拖動事件

因為ui文件直接生成的py文件內并沒有重寫拖動相關的方法,所以我們需要重寫一下,寫在生成的py文件里每次重新生成都會被覆蓋


? 引用相關的腳本

from PyQt5.QtWidgets import QApplication, QMainWindow
from main_win.mainUI import Ui_MainWindow

mainUI文件就是我們剛制作的ui轉換的py文件,不知道怎么吧ui文件轉py的同學可以看博主之前的文章,Ui_MainWindow是mainUI.py里的類名


? 重寫

class DragChangeWin(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(DragChangeWin, self).__init__(parent)
        self.setupUi(self)
        # 調用Drops方法
        self.setAcceptDrops(True)

    # 鼠標進入
    def dragEnterEvent(self, evn):
        print("鼠標進入")
        evn.accept()

    # 鼠標放開
    def dropEvent(self, evn):
        print("鼠標放開")

    # 鼠標拖動
    def dragMoveEvent(self, evn):
        print("鼠標拖動")

要點1:新類繼承QMainWindowUi_MainWindow
要點2:拖動的進入事件dragEnterEvent
要點3:拖動的結束事件dropEvent
要點4:拖動的移動事件dragMoveEvent


? 獲取文件并讀取

在dropEvent方法內我們通過evn參數可以獲取到拖動文件的路徑

# 鼠標放開
def dropEvent(self, evn):
    filePath = evn.mimeData().text().split("http:///")[1]
    file = open(filePath, 'r', encoding="UTF-8")
    content = file.read()
    file.close()
    print(content)

要點1:通過evn.mimeData().text()方法可以獲取到拖動文件的路徑,路徑格式如下所示

file:///C:/Users/Administrator/Desktop/1.txt

要點2:通過分割字符串可以獲取到可用的路徑信息


? 完整代碼

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from main_win.mainUI import Ui_MainWindow


class DragChangeWin(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(DragChangeWin, self).__init__(parent)
        self.setupUi(self)
        # 調用Drops方法
        self.setAcceptDrops(True)

    # 鼠標進入
    def dragEnterEvent(self, evn):
        # 鼠標放開函數事件
        evn.accept()

    # 鼠標放開
    def dropEvent(self, evn):
        filePath = evn.mimeData().text().split("http:///")[1]
        file = open(filePath, 'r', encoding="UTF-8")
        content = file.read()
        file.close()
        self.textEdit.setText(content)

    # 鼠標拖動
    def dragMoveEvent(self, evn):
        print("3333333333333333333")


if __name__ == '__main__':
    # app初始化
    app = QApplication(sys.argv)
    dragWin = DragChangeWin()
    dragWin.show()
    dragWin.setFixedSize(dragWin.width(), dragWin.height())
    sys.exit(app.exec_())


? 推送

  • Github
https://github.com/KingSun5

? 結語

若是覺得博主的文章寫的不錯,不妨關注一下博主,點贊一下博文,另博主能力有限,若文中有出現什么錯誤的地方,歡迎各位評論指摘。文章來源地址http://www.zghlxwxcb.cn/news/detail-791796.html

?? 本文屬于原創(chuàng)文章,轉載請評論留言,并在轉載文章頭部著名作者出處??

到了這里,關于PyQt5利用Qt Designer制作一個可以拖動獲取文件信息的頁面的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • PyQt5學習筆記--基于Qt Designer加載、播放和保存視頻

    PyQt5學習筆記--基于Qt Designer加載、播放和保存視頻

    目錄 1--基于Qt Designer設計ui文件 2--代碼 3--結果 4--補充 5--加載、播放、轉換和保存視頻的實例 ① 上述代碼只實現了加載視頻和播放視頻的功能,缺少暫停、進度移動等常見功能。 ② 上述代碼將 QVideoWidget 通過一個layout布局的形式內嵌到自定義的 QOpenGLWidget 中,但播放測試視

    2024年02月15日
    瀏覽(40)
  • PyQt5 Qt Designer使用(界面顯示與業(yè)務邏輯分離模式)

    PyQt5 Qt Designer使用(界面顯示與業(yè)務邏輯分離模式)

    Qt Designer運行界面: MainWinSignalSlog02.ui Ui_MainWinSignalSlog02.py CallMainWinSignalSlog02.py

    2024年02月15日
    瀏覽(25)
  • PyQt5學習筆記--加載Qt Designer設計的ui文件

    PyQt5學習筆記--加載Qt Designer設計的ui文件

    目錄 1--直接加載ui文件 2--動態(tài)加載ui文件及其屬性 3--綁定槽函數測試 4--登錄程序實例練習 ① Qt Designer 下載地址????? ② 設計ui并保存導出 ? ③ 直接加載代碼 ? ① 在Qt Designer設計ui文件: ? ② 源程序: ③ 結果測試 ?

    2024年02月10日
    瀏覽(46)
  • PyQt5教程:如何在PyCharm中添加Qt Designer、PyUIC、PyRcc外部工具?

    PyQt5教程:如何在PyCharm中添加Qt Designer、PyUIC、PyRcc外部工具?

    Qt Designer 、PyUIC和PyRcc是Qt框架下的三個重要工具,總的來說,這三個工具各司其職,相輔相成,能顯著提升Qt開發(fā)的速度與效率。 Qt Designer:是一個用于創(chuàng)建圖形用戶界面的工具,可輕松構建復雜的用戶界面。它基于MVC架構,可以將界面設計與邏輯分離,使得開發(fā)更為便捷。

    2024年04月28日
    瀏覽(25)
  • 【python】軟件開發(fā)——PyQt5、Qt Designer、信號與槽機制、計算器實現

    【python】軟件開發(fā)——PyQt5、Qt Designer、信號與槽機制、計算器實現

    PyQt5 是一個基于 Python 的 GUI 框架,用于創(chuàng)建跨平臺的桌面應用程序。它是 Qt 庫的 Python 綁定,結合了 Python 的簡潔和易用性以及 Qt 框架的強大功能。 Qt 是一個流行的 C++ 跨平臺應用程序開發(fā)框架,提供了豐富的圖形界面組件、網絡通信、數據庫訪問、多線程等功能。PyQt5 允許

    2024年02月04日
    瀏覽(56)
  • python中的yolov5結合PyQt5,使用QT designer設計界面沒正確啟動的解決方法

    python中的yolov5結合PyQt5,使用QT designer設計界面沒正確啟動的解決方法

    一、窗體設計test: 默認你已經設計好了窗體后: 這時你需要的是保存生成的untitle.ui到某個文件夾下,然后在命令行中獎.ui轉換為.py(,通過??pyqt5???提供的轉換工具,將??ui???文件轉換成??python??的代碼) 或者使用在PyCharm中安裝的工具: 然后你會看到mai

    2024年02月07日
    瀏覽(32)
  • 制作一個串口助手 | python + pyqt5

    制作一個串口助手 | python + pyqt5

    目錄 一、背景 1.1、開發(fā)流程圖 二、前提 2.1、關于環(huán)境 2.2、關于源碼 三、步驟 3.1、使用pyqt創(chuàng)建一個.ui界面并生成.py文件 3.2、創(chuàng)建兩個.py文件,一個用來繼承ui界面生成的.py類,一個用來實現各種功能 3.3、各個功能代碼 3.3.1、打開串口 3.3.2、關閉串口 3.3.3、獲取串口號 3.

    2024年02月05日
    瀏覽(27)
  • PyQt5制作一個簡單的登錄界面

    PyQt5制作一個簡單的登錄界面

    最近在學習GUI設計,分享做的一些小項目。 這篇文我們講一下如何制作一個簡單的登錄界面。 如下: 1、QtDesigner里繪制UI界面并設置屬性 布局根據個人喜好,部件顏色、字體、背景屬性在styleSheet里設置。 2、材料轉換(將.ui文件轉.py,.qrc文件轉_rc.py) 通過PyUIC和PyRcc即可完成。

    2024年02月03日
    瀏覽(21)
  • RAMMAP(運行內存清理工具)自動釋放內存,并利用pyqt5制作圖形界面

    RAMMAP(運行內存清理工具)自動釋放內存,并利用pyqt5制作圖形界面

    上一篇文章用python制作了一個自動清理內存的程序,利用cmd端口調用Rammap,不過只是做了一個托盤圖標,這回用pyqt5做一個簡單的圖形界面,并實現對自動清理模式的一些設置 首先利用pyqt5工具qt designer生成UI界面,這里命名為F_UI.ui(并利用信號/槽編輯器將滑動條和微調框綁

    2024年02月11日
    瀏覽(16)
  • 安裝 Pyqt5 和 Designer

    安裝 Pyqt5 和 Designer

    Name– PyUIC Program– E:pythonpythonpython.exe (你的python文件路徑) Arguments– -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py Working directory– $FileDir$

    2024年01月23日
    瀏覽(67)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包