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

您的位置:首頁技術文章
文章詳情頁

Python QT組件庫qtwidgets的使用

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

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

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

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

Python QT組件庫qtwidgets的使用

安裝

直接使用 pip 工具進行安裝即可,命令如下:

pip install qtwidgets

密碼輸入框

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

# 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()

運行后的效果如下所示:

Python QT組件庫qtwidgets的使用

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

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

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()

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

Python QT組件庫qtwidgets的使用

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

漸變組件

漸變組件Gradient()提供了方便的界面來設計應用程序中的線性漸變。只需創建對象的實例即可創建新的漸變器。

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組件庫qtwidgets的使用

默認的漸變顏色是從黑到白的。停止點使用一個紅色框進行標記。漸變器組件創建之后,我們可以在圖形界面上進行編輯:

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

下面,我們來演示一下:

Python QT組件庫qtwidgets的使用

調色板

qtwidgets提供了三種調色板,分別是:

水平調色板PaletteHorizontal 垂直調色板PaletteVertical 網格調色板PaletteGrid

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

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('點擊了:') 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('點擊了:{}'.format(value))def main(): app = QtWidgets.QApplication(sys.argv) gui = Widget() gui.show() sys.exit(app.exec_())if __name__ == ’__main__’: main()

其運行效果為:

Python QT組件庫qtwidgets的使用

最后

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

Python QT組件庫qtwidgets的使用

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

文章版權所有:州的先生博客,轉載必須保留出處及原文鏈接

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

以上就是Python QT組件庫qtwidgets的使用的詳細內容,更多關于Python qtwidgets庫的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 日本高清va不卡视频在线观看 | 亚洲成人tv | 亚洲欧美日韩精品在线 | 韩国美女毛片 | 日本a级特黄三级三级三级 日本a一级片 | 找国产毛片 | 美女张开腿黄网站免费国产 | 亚洲一区二区三区在线 | 伊人色综合7777 | 亚洲第一区视频在线观看 | 日韩精品一区二区在线观看 | 久久国产成人午夜aⅴ影院 久久国产成人亚洲精品影院老金 | 成人做爰视频www片 成人做爰视频www视频 | 99热在线免费 | 亚洲系列在线 | 亚洲欧洲日韩在线 | 久久精品99毛片免费 | 亚洲成人在线播放视频 | 三级黄色网址 | 韩国欧洲一级毛片 | 波野多衣在线观 | 免费看欧美毛片大片免费看 | 在线视频久久 | 国产欧美一区二区三区免费 | 中文字幕在线视频在线看 | 国产成人免费手机在线观看视频 | 国产a级三级三级三级 | 视频一区在线免费观看 | 天天碰夜夜操 | 国产成人三级经典中文 | 日韩久久久精品中文字幕 | 欧美另类专区 | 日本污污网站 | 怡红院免费播放全部视频 | 男性吸女下身的视频 | 手机看片福利视频 | 国产区一区二区三 | 欧美一级成人一区二区三区 | 欧美一级特黄刺激爽大片 | 男女福利 | 国产成人盗摄精品 |