Python實用工具,PyQt5+qrcode,Python制作二維碼生成工具


前言:

今天我們就利用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小工具系列暫停更新,下個系列文章分享小游戲系列


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM