国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python QT組件庫(kù)qtwidgets的使用

瀏覽:54日期:2022-07-06 15:56:34

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

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

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

Python QT組件庫(kù)qtwidgets的使用

安裝

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

pip install qtwidgets

密碼輸入框

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

# encoding:utf-8from PySide2 import QtWidgetsimport sysclass 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)行后的效果如下所示:

Python QT組件庫(kù)qtwidgets的使用

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

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

from PySide2 import QtWidgetsfrom qtwidgets import PasswordEditimport sysclass 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()

來(lái)看看使用qtwidgets提供的密碼輸入框的效果:

Python QT組件庫(kù)qtwidgets的使用

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

漸變組件

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

from PySide2 import QtWidgetsfrom qtwidgets import PasswordEdit,Gradientimport sysclass 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()

Python QT組件庫(kù)qtwidgets的使用

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

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

下面,我們來(lái)演示一下:

Python QT組件庫(kù)qtwidgets的使用

調(diào)色板

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

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

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

from PySide2 import QtWidgetsfrom qtwidgets import PasswordEdit,Gradient,PaletteGrid,PaletteHorizontal,PaletteVerticalimport sysclass 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)行效果為:

Python QT組件庫(kù)qtwidgets的使用

最后

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

Python QT組件庫(kù)qtwidgets的使用

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

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

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

以上就是Python QT組件庫(kù)qtwidgets的使用的詳細(xì)內(nèi)容,更多關(guān)于Python qtwidgets庫(kù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产成人一级片 | 欧美色欧美色 | 国产a级特黄的片子视频免费 | 99精品视频免费观看 | 天天看片天天爽_免费播放 天天看夜夜 | 国产成人精品在线 | 美女视频黄视大全视频免费网址 | 久久性精品 | 精品一区二区三区在线观看l | 成人免费精品视频 | 欧美性色xo在线 | 成人精品视频 | 亚洲日韩视频 | 久久精品免费观看 | 久久夜色精品国产 | 国产精品永久免费自在线观看 | 日本一级看片免费播放 | 黄页美女 | 亚洲欧美自拍视频 | 一级看片免费视频囗交 | 国产亚洲人成a在线v网站 | 国产成人艳妇在线观看 | 国产舐足视频在线观看 | 久久99国产精品久久99无号码 | 91情国产l精品国产亚洲区 | 欧美videosex性欧美成人 | 99精品一区二区免费视频 | 黄影| 亚洲无色 | 91极品尤物 | 免费萌白酱国产一区二区三区 | 国产日本欧美在线观看 | 成人禁在线观看午夜亚洲 | 99国产精品农村一级毛片 | 亚洲 欧美 日韩 在线 中文字幕 | 玖玖在线国产精品 | 国产啪精品视频网免费 | 国产在线观看一区二区三区 | 久久伊人男人的天堂网站 | 欧美一级毛片高清免费观看 | 欧美成人aaa大片 |