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

Python QT組件庫qtwidgets的使用

 更新時(shí)間:2020年11月02日 10:03:09   作者:州的先生  
這篇文章主要介紹了Python QT組件庫qtwidgets的使用,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下

雖然Qt提供了不少現(xiàn)成的組件,但是在Python中使用PyQt5或PySide2進(jìn)行圖形界面程序開發(fā)的過程,還是免不了要根據(jù)自己的需求組合一些小部件以形成新的自定義組件。

最近州的先生在寫一個桌面圖形界面的登錄密碼框的過程中,發(fā)現(xiàn)了這樣一個小巧的自定義組件庫。

其目前提供了密碼輸入框組件、漸變組件、均衡器組件、調(diào)色板組件。

安裝

直接使用 pip 工具進(jìn)行安裝即可,命令如下:

pip install qtwidgets

密碼輸入框

在PyQt5和PySide2中,我們一般使用QLineEdit()小部件,通過設(shè)置它的EchoMode屬性來讓輸入的文本顯示星號而非明文,代碼如下所示:

# encoding:utf-8

from PySide2 import QtWidgets
import sys


class Widget(QtWidgets.QWidget):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("州的先生-zmister.com")
  self.pwd_input = QtWidgets.QLineEdit(self)
  self.pwd_input.setEchoMode(QtWidgets.QLineEdit.Password)


def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()

運(yùn)行后的效果如下所示:

在現(xiàn)代的登錄界面中,默認(rèn)輸入密碼為密文,然后通過一個按鈕允許用戶查看自己輸入的密碼,是一個很常見的功能。

如果我們要基于QLineEdit()組件來擴(kuò)展的話,就得花很多時(shí)間和代碼來實(shí)現(xiàn)。借助qtwidgets模塊,咱們就可以少造一點(diǎn)輪子了。

from PySide2 import QtWidgets
from qtwidgets import PasswordEdit
import sys


class Widget(QtWidgets.QMainWindow):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("州的先生-zmister.com")
  # self.pwd_input = QtWidgets.QLineEdit(self)
  self.pwd_input = PasswordEdit()
  self.setCentralWidget(self.pwd_input)


def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()

來看看使用qtwidgets提供的密碼輸入框的效果:

除了密碼輸入框,qtwidgets還提供了幾個擴(kuò)展的組件。

漸變組件

漸變組件Gradient()提供了方便的界面來設(shè)計(jì)應(yīng)用程序中的線性漸變。只需創(chuàng)建對象的實(shí)例即可創(chuàng)建新的漸變器。

from PySide2 import QtWidgets
from qtwidgets import PasswordEdit,Gradient
import sys


class Widget(QtWidgets.QMainWindow):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("州的先生-zmister.com")
  self.gradient = Gradient()
  self.setCentralWidget(self.gradient)


def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()

默認(rèn)的漸變顏色是從黑到白的。停止點(diǎn)使用一個紅色框進(jìn)行標(biāo)記。漸變器組件創(chuàng)建之后,我們可以在圖形界面上進(jìn)行編輯:

  • 在漸變器上雙擊可以添加標(biāo)記點(diǎn),其顏色與右邊的顏色一致;
  • 拖動標(biāo)記點(diǎn),可以改變漸變色的范圍和位置;
  • 右鍵單擊新建的標(biāo)記點(diǎn),可以編輯標(biāo)記點(diǎn)的顏色;
  • 雙擊新建的標(biāo)記點(diǎn),可以刪除此標(biāo)記點(diǎn)。

下面,我們來演示一下:

調(diào)色板

qtwidgets提供了三種調(diào)色板,分別是:

  • 水平調(diào)色板PaletteHorizontal
  • 垂直調(diào)色板PaletteVertical
  • 網(wǎng)格調(diào)色板PaletteGrid

這三個調(diào)色板除了排列方式有所不同外,其他的使用方法都一樣,都接受顏色列表參數(shù),或預(yù)置的幾個顏色族,都支持selected選擇信號,下面我們來演示一下:

from PySide2 import QtWidgets
from qtwidgets import PasswordEdit,Gradient,PaletteGrid,PaletteHorizontal,PaletteVertical
import sys


class Widget(QtWidgets.QMainWindow):
 def __init__(self):
  super().__init__()
  self.setWindowTitle("州的先生-zmister.com")
  self.palette_1 = PaletteGrid('category10')
  self.palette_2 = PaletteHorizontal('17undertones')
  self.palette_3 = PaletteVertical(['#000003', '#160B39', '#410967', '#6A176E', '#932567', '#BA3655', '#DC5039', '#F2751A', '#FBA40A', '#F6D542', '#FCFEA4'])
  self.palette_1.selected.connect(self.selected_color)
  self.label = QtWidgets.QLabel("點(diǎn)擊了:")
  self.widget = QtWidgets.QWidget()
  self.widget_layout = QtWidgets.QVBoxLayout()
  self.widget.setLayout(self.widget_layout)
  self.widget_layout.addWidget(self.palette_1)
  self.widget_layout.addWidget(self.palette_2)
  self.widget_layout.addWidget(self.palette_3)
  self.widget_layout.addWidget(self.label)
  self.setCentralWidget(self.widget)

 def selected_color(self,value):
  self.label.setText("點(diǎn)擊了:{}".format(value))

def main():
 app = QtWidgets.QApplication(sys.argv)
 gui = Widget()
 gui.show()
 sys.exit(app.exec_())

if __name__ == '__main__':
 main()

其運(yùn)行效果為:

最后

還有一個均衡器組件,用于動態(tài)可視化輸出頻率的變化,在這里就不演示了,有興趣的小伙伴可以自己試一試。

除此之外,所有這些組件也都是基于Qt現(xiàn)有組件進(jìn)行的封裝,學(xué)有余力的小伙伴還可以查看一下它們的源碼實(shí)現(xiàn),以加深對Qt各個原生組件運(yùn)用的理解。

  文章版權(quán)所有:州的先生博客,轉(zhuǎn)載必須保留出處及原文鏈接

  原文地址:https://zmister.com/archives/1594.html

以上就是Python QT組件庫qtwidgets的使用的詳細(xì)內(nèi)容,更多關(guān)于Python qtwidgets庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python數(shù)據(jù)合并的concat函數(shù)與merge函數(shù)詳解

    Python數(shù)據(jù)合并的concat函數(shù)與merge函數(shù)詳解

    大家都知道concat()函數(shù)可以沿著一條軸將多個對象進(jìn)行堆疊,其使用方式類似數(shù)據(jù)庫中的數(shù)據(jù)表合并,在使用merge()函數(shù)進(jìn)行合并時(shí),默認(rèn)會使用重疊的列索引做為合并鍵,即取行索引重疊的部分,本文給大家介紹python?數(shù)據(jù)合并concat函數(shù)與merge函數(shù),感興趣的朋友一起看看吧
    2022-05-05
  • 基于python爬蟲數(shù)據(jù)處理(詳解)

    基于python爬蟲數(shù)據(jù)處理(詳解)

    下面小編就為大家?guī)硪黄趐ython爬蟲數(shù)據(jù)處理(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python 讀取有公式cell的結(jié)果內(nèi)容實(shí)例方法

    Python 讀取有公式cell的結(jié)果內(nèi)容實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于Python 如何讀取有公式cell的結(jié)果內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • Python利用3D引擎做一個太陽系行星模擬器

    Python利用3D引擎做一個太陽系行星模擬器

    Python有一個不錯的3D引擎——Ursina。本文就來利用Ursina這一3D引擎做一個太陽系行星模擬器,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • 淺談python中列表、字符串、字典的常用操作

    淺談python中列表、字符串、字典的常用操作

    下面小編就為大家?guī)硪黄獪\談python中列表、字符串、字典的常用操作。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python改變?nèi)罩?logging)存放位置的示例

    python改變?nèi)罩?logging)存放位置的示例

    示例主要解決的問題是通過傳入日志文件參數(shù)的方式來改變?nèi)罩镜拇娣盼恢?需要的朋友可以參考下
    2014-03-03
  • Python教程之類型轉(zhuǎn)換詳解

    Python教程之類型轉(zhuǎn)換詳解

    Python?定義了類型轉(zhuǎn)換函數(shù)以將一種數(shù)據(jù)類型直接轉(zhuǎn)換為另一種數(shù)據(jù)類型,這在日常和競爭性編程中很有用,本文將和大家一起詳細(xì)聊聊Python中的類型轉(zhuǎn)換
    2022-08-08
  • python 鏡像環(huán)境搭建總結(jié)

    python 鏡像環(huán)境搭建總結(jié)

    這篇文章主要介紹了python 鏡像環(huán)境搭建總結(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • PyTorch張量拼接、切分、索引的實(shí)現(xiàn)

    PyTorch張量拼接、切分、索引的實(shí)現(xiàn)

    在學(xué)習(xí)深度學(xué)習(xí)的過程中,遇到的第一個概念就是張量,張量在pytorch中的計(jì)算十分重要,本文主要介紹了PyTorch張量拼接、切分、索引的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • python構(gòu)建自定義回調(diào)函數(shù)詳解

    python構(gòu)建自定義回調(diào)函數(shù)詳解

    在工作中,回調(diào)函數(shù)使用的場景是非常多的,下面我們就來通過例子程序來詳細(xì)了解利用了Python的屬性機(jī)制構(gòu)建了一個自定義回調(diào)函數(shù)的使用
    2017-06-06

最新評論