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

【pyqt5界面化工具開發(fā)-11】界面化顯示檢測信息

這篇具有很好參考價值的文章主要介紹了【pyqt5界面化工具開發(fā)-11】界面化顯示檢測信息。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

0x00 前言:

一、布局的設(shè)置

二、消息的顯示


0x00 前言:

我們在10講的基礎(chǔ)上,需要將其輸出到界面上

思路:

1、消息的傳遞

2、布局的設(shè)置

先考慮好消息的傳遞,再來完善布局

其實先完善布局,再來設(shè)置消息的傳遞也行

(我不是中國人,就是外國人)



一、布局的設(shè)置

將布局設(shè)置好以后,我們就可以來綁定消息,以及消息的顯示

import sys
import time

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


class MainWindow(QDialog):
    # 聲明一個信號,放在函數(shù)外面
    my_signal = pyqtSignal(str)

    def __init__(self):
        super().__init__()
        self.init_ui()
        self.msg_history = list()       # 用來存放消息

    def init_ui(self):
        self.resize(500,400)
        container = QVBoxLayout()   # 創(chuàng)建一個整體布局
        self.setLayout(container)   # 設(shè)置布局器(主入器)

#————————————————————————————————————————————————————————————-————
# 以下為布局的設(shè)置

        # 創(chuàng)建一個滾動對象
        scroll = QScrollArea()
        scroll.setWidget(self.msg)

        # 創(chuàng)建垂直布局,用來添加自動滾動條
        v_layout = QVBoxLayout()
        v_layout.addWidget(scroll)

        # 常見水平布局器
        h_layout = QHBoxLayout()
        btn = QPushButton("開始檢測",self)
        # 綁定按鈕的點擊事件
        btn.clicked.connect(self.check)
        h_layout.addStretch(1)  # 伸縮器
        h_layout.addWidget(btn)
        h_layout.addStretch(1)

        # 水平+垂直布局 添加到主容器
        container.addLayout(v_layout)
        container.addLayout(h_layout)


#————————————————————————————————————————————————————————————————

    # 定義槽
    def my_slot(self,msg):
        # 更新內(nèi)容
        print(msg)



    # 點擊事件對應(yīng)的邏輯函數(shù)代碼
    def check(self):
        # 下面改為自己的漏洞檢測事件
        for i,ip in enumerate(["192.168.1.%d" % x for x in range(1,20)]):
            msg = "正在檢測 %s 上的漏洞" % ip
            # print(msg)
            # 漏洞的判斷
            if i % 5 == 0:
                # 發(fā)射信號  對象.信號(參數(shù))
                self.my_signal.emit(msg + "[存在漏洞]")
            # else:
            #     self.my_signal.emit("")
            time.sleep(0.1)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 根據(jù)命名自己改(我每個都以MainWindow就不改了)
    w = MainWindow()
    w.setWindowTitle("對話框")
    w.show()
    sys.exit(app.exec_())


二、消息的顯示

對于消息的布局+消息的更新顯示

import sys
import time

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


class MainWindow(QDialog):
    # 聲明一個信號,放在函數(shù)外面
    my_signal = pyqtSignal(str)

    def __init__(self):
        super().__init__()
        self.init_ui()
        self.msg_history = list()       # 用來存放消息

    def init_ui(self):
        self.resize(500,400)
        container = QVBoxLayout()   # 創(chuàng)建一個整體布局
        self.setLayout(container)   # 設(shè)置布局器(主入器)

#————————————————————————————————————————————————————————
# 消息的顯示界面


        # 顯示檢測到的界面信息
        self.msg = QLabel("")
        self.msg.resize(400,40)
        self.msg.setWordWrap(True)              # 自動換行
        self.msg.setAlignment(Qt.AlignTop)      # 靠上
        # self.msg.setStyleSheet("background-color:yellow;color:black;")


#————————————————————————————————————————————————————————
        # 創(chuàng)建一個滾動對象
        scroll = QScrollArea()
        scroll.setWidget(self.msg)

        # 創(chuàng)建垂直布局,用來添加自動滾動條
        v_layout = QVBoxLayout()
        v_layout.addWidget(scroll)

        # 常見水平布局器
        h_layout = QHBoxLayout()
        btn = QPushButton("開始檢測",self)
        # 綁定按鈕的點擊事件
        btn.clicked.connect(self.check)
        h_layout.addStretch(1)  # 伸縮器
        h_layout.addWidget(btn)
        h_layout.addStretch(1)

        # 水平+垂直布局 添加到主容器
        container.addLayout(v_layout)
        container.addLayout(h_layout)




        # 綁定信號和槽(自定義的)
        self.my_signal.connect(self.my_slot)

    # 定義槽
    def my_slot(self,msg):
        # 更新內(nèi)容
        print(msg)

#————————————————————————————————————————————————————————————————————————————————————
# 消息的更新

        self.msg_history.append(msg)
        self.msg.setText("<br>".join(self.msg_history))
        self.msg.resize(400,self.msg.frameSize().height() + 40)     # 增加的大小,和設(shè)置的每一行的寬高一致
        self.msg.repaint()          # 更新內(nèi)容,不更新會無顯示
        # print("[+]",msg)

#————————————————————————————————————————————————————————————————————————————————————


    # 點擊事件對應(yīng)的邏輯函數(shù)代碼
    def check(self):
        # 下面改為自己的漏洞檢測事件
        for i,ip in enumerate(["192.168.1.%d" % x for x in range(1,20)]):
            msg = "正在檢測 %s 上的漏洞" % ip
            # print(msg)
            # 漏洞的判斷
            if i % 5 == 0:
                # 發(fā)射信號  對象.信號(參數(shù))
                self.my_signal.emit(msg + "[存在漏洞]")
            # else:
            #     self.my_signal.emit("")
            time.sleep(0.1)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    # 根據(jù)命名自己改(我每個都以MainWindow就不改了)
    w = MainWindow()
    w.setWindowTitle("對話框")
    w.show()
    sys.exit(app.exec_())

運行效果:

【pyqt5界面化工具開發(fā)-11】界面化顯示檢測信息,【網(wǎng)絡(luò)安全工具開發(fā)-pyqt5】,qt,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-684207.html

到了這里,關(guān)于【pyqt5界面化工具開發(fā)-11】界面化顯示檢測信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

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

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

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

    2024年02月15日
    瀏覽(25)
  • 界面開發(fā)(2)--- 使用PyQt5制作用戶登陸界面

    界面開發(fā)(2)--- 使用PyQt5制作用戶登陸界面

    上篇文章已經(jīng)介紹了如何配置PyQt5環(huán)境,這篇文章在此基礎(chǔ)上展開,主要記錄一下如何使用 PyQt5 制作用戶登陸界面,并對一些基礎(chǔ)操作進(jìn)行介紹。 下面是具體步驟,一起來看看吧! 1. 打開 Pycharm 中的 Qt Designer 工具。 2. 選擇Main Window模式,創(chuàng)建界面窗口。 3. 移除菜單欄和狀態(tài)

    2024年02月05日
    瀏覽(22)
  • 界面開發(fā)(1) --- PyQt5環(huán)境配置

    界面開發(fā)(1) --- PyQt5環(huán)境配置

    第一步:首先安裝社區(qū)版Pycharm 下載地址:https://www.jetbrains.com/pycharm/download/#section=windows 第二步:安裝Anaconda3,配置虛擬環(huán)境 下載地址:https://www.anaconda.com/ 第三步:安裝 Python 第三方庫,包括 pyqt5,pyqt5-tools 和 pyqt5designer 在cmd中使用 pip install pyqt5 , pip install pyqt5-tools , pip in

    2024年04月12日
    瀏覽(28)
  • 【pyqt5界面化開發(fā)-5】網(wǎng)格布局(九宮格)界面

    【pyqt5界面化開發(fā)-5】網(wǎng)格布局(九宮格)界面

    需要模塊:QGridLayout 代碼

    2024年02月11日
    瀏覽(43)
  • 界面開發(fā)(3)--- PyQt5用戶登錄界面連接數(shù)據(jù)庫

    界面開發(fā)(3)--- PyQt5用戶登錄界面連接數(shù)據(jù)庫

    為了實現(xiàn)用戶登錄界面的登錄功能,我們必須建立一個數(shù)據(jù)庫,并把賬號和對應(yīng)的密碼,存儲到數(shù)據(jù)庫中。如果輸入的賬號和密碼與數(shù)據(jù)庫中的一致,那我們就允許用戶登錄,進(jìn)入新的界面。 上篇文章介紹了如何使用PyQt5制作用戶登錄界面,這篇文章在此基礎(chǔ)上展開,建立簡

    2024年02月05日
    瀏覽(25)
  • Python - PyQT5開發(fā)UI界面 - 環(huán)境搭建

    Python - PyQT5開發(fā)UI界面 - 環(huán)境搭建

    沒有做過UI界面的都會把UI的制作想象的很神秘,我在剛開始的時候也是感覺異常神秘、很復(fù)雜、并且無從下手,不過在真正的做出來一個界面后,發(fā)現(xiàn)也并沒有想象中的那么難,而且做出來可視化的東西所帶來的成就感是超越代碼本身的;不過整個過程也并不順利,網(wǎng)上都是

    2023年04月23日
    瀏覽(28)
  • PyQt5桌面應(yīng)用開發(fā)(10):界面布局基本支持

    PyQt5桌面應(yīng)用開發(fā)(10):界面布局基本支持

    PyQt5桌面應(yīng)用開發(fā)(1):需求分析 PyQt5桌面應(yīng)用開發(fā)(2):事件循環(huán) PyQt5桌面應(yīng)用開發(fā)(3):并行設(shè)計 PyQt5桌面應(yīng)用開發(fā)(4):界面設(shè)計 PyQt5桌面應(yīng)用開發(fā)(5):對話框 PyQt5桌面應(yīng)用開發(fā)(6):文件對話框 PyQt5桌面應(yīng)用開發(fā)(7):文本編輯+語法高亮與行號 PyQt5桌面應(yīng)用開

    2024年02月03日
    瀏覽(23)
  • 基于PyQt5的圖形化界面開發(fā)——隊列動畫演示

    基于PyQt5的圖形化界面開發(fā)——隊列動畫演示

    本文使用PyQt5制作圖形化界面演示數(shù)據(jù)結(jié)構(gòu)中的 隊列 操作,與上一節(jié)隊列動畫相對應(yīng) 基于PyQt5的圖形化界面開發(fā)——隊列動畫演示 操作系統(tǒng):Windows10 專業(yè)版 開發(fā)環(huán)境:Pycahrm Comunity 2022.3 Python解釋器版本:Python3.8 第三方庫:PyQt5 隊列(Queue)是一種常用的數(shù)據(jù)結(jié)構(gòu),類似于現(xiàn)

    2024年02月07日
    瀏覽(23)
  • 基于PyQt5的UI界面開發(fā)——信號與槽

    基于PyQt5的UI界面開發(fā)——信號與槽

    PyQt5采用了一種被稱為“信號與槽”機(jī)制的編程模式,用于處理對象間的通信和事件處理。在PyQt5中,信號(signal)是對象發(fā)出的特定事件,例如按鈕被點擊、文本被修改等。而槽(slot)是與信號相關(guān)聯(lián)的特定動作或函數(shù)。當(dāng)信號被觸發(fā)時,與之相關(guān)聯(lián)的槽會被自動調(diào)用。 槽

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

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

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

    2024年02月11日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包