前言:
今天我們就利用PyQt5+qrcode制作一個簡單的二維碼生成工具吧。讓我們愉快地開始吧~
開發工具
Python版本:3.6.4
相關模塊:
PyQt5模塊;
qrcode模塊;
以及一些Python自帶的模塊。
環境搭建
安裝Python並添加到環境變量,pip安裝需要的相關模塊即可。
原理簡介
軟件界面:

實現思路:
先定義必要的組件:
# 定義組件
# --Label
self.content_label = QLabel('內容:')
self.size_label = QLabel('尺寸:')
self.version_label = QLabel('版本:')
self.margin_label = QLabel('邊距:')
self.rendering_label = QLabel('效果:')
self.show_label = QLabel()
# 使得圖片可縮放
self.show_label.setScaledContents(True)
# 顯示時的最大尺寸
self.show_label.setMaximumSize(200, 200)
# --輸入框
self.content_edit = QLineEdit()
self.content_edit.setText('Python新手學習交流群:594356095')
# --按鈕
self.generate_button = QPushButton('生成二維碼')
self.save_button = QPushButton('保存二維碼')
# --下拉框
self.version_combobox = QComboBox()
for i in range(1, 41):
self.version_combobox.addItem('%s' % str(i))
self.size_combobox = QComboBox()
for i in range(8, 40, 2):
self.size_combobox.addItem('%s * %s' % (str(i*29), str(i*29)))
# --微調框
self.margin_spinbox = QSpinBox()
然后布局:
# 布局
# 數字依次對應行, 列, 行數和列數
self.grid.addWidget(self.rendering_label, 0, 0, 1, 1)
self.grid.addWidget(self.show_label, 0, 0, 5, 5)
self.grid.addWidget(self.content_label, 0, 5, 1, 1)
self.grid.addWidget(self.content_edit, 0, 6, 1, 3)
self.grid.addWidget(self.version_label, 1, 5, 1, 1)
self.grid.addWidget(self.version_combobox, 1, 6, 1, 1)
self.grid.addWidget(self.size_label, 2, 5, 1, 1)
self.grid.addWidget(self.size_combobox, 2, 6, 1, 1)
self.grid.addWidget(self.margin_label, 3, 5, 1, 1)
self.grid.addWidget(self.margin_spinbox, 3, 6, 1, 1)
self.grid.addWidget(self.generate_button, 4, 5, 1, 2)
self.grid.addWidget(self.save_button, 5, 5, 1, 2)
利用qrcode和pyqt5庫實現生成和保存二維碼的功能。
最后把信號接過去:
PS:除邊距外,改變其他參數,均需點擊生成二維碼按鈕以生成新的二維碼。
self.generate_button.clicked.connect(self.genQrcode)
self.save_button.clicked.connect(self.saveQrcode)
self.margin_spinbox.valueChanged.connect(self.genQrcode)
文章到這里就結束了,感謝你的觀看,Python小工具系列暫停更新,下個系列文章分享小游戲系列
