PyQt对话框,控件(实例:绘图——简单画板工具)
作业描述
成果展示
全解python代码实现
全解代码截图
全解代码
import os
import sys
import PyQt5.QtCore as qc
import PyQt5.QtGui as qg
import PyQt5.QtWidgets as qw
class SetPenColorDlg(qw.QDialog):
#重载构造函数
def __init__(self,parent = None):
#重载父类构造函数
super().__init__(parent)
#改变窗口显示的title
self.setWindowTitle("SetPenWidth")
#red设置的Label
self.RLabel = qw.QLabel("Red :")
#red的数字框
self.RSpinBox = qw.QDoubleSpinBox(self)
#范围
self.RSpinBox.setRange(0,255)
#初始值
self.RSpinBox.setValue(255)
#green设置的Label
self.GLabel = qw.QLabel("Green :")
#green的数字框
self.GSpinBox = qw.QDoubleSpinBox(self)
#范围
self.GSpinBox.setRange(0,255)
#初始值
self.GSpinBox.setValue(255)
#blue设置的Label
self.BLabel = qw.QLabel("Blue :")
#blue的数字框
self.BSpinBox = qw.QDoubleSpinBox(self)
#范围
self.BSpinBox.setRange(0,255)
#初始值
self.BSpinBox.setValue(255)
#Color Lable
self.ColorLabel = qw.QLabel("Color :")
self.resultLabel = qw.QLabel("255,255,255")
#ok/cancel
self.okButton = qw.QPushButton("&OK")
self.cancelButton = qw.QPushButton("Cancel")
#显示,竖直布局
self.layout = qw.QGridLayout(self)
self.layout.addWidget(self.RLabel, 0, 0)
self.layout.addWidget(self.RSpinBox, 0, 1)
self.layout.addWidget(self.GLabel, 1, 0)
self.layout.addWidget(self.GSpinBox, 1, 1)
self.layout.addWidget(self.BLabel, 2, 0)
self.layout.addWidget(self.BSpinBox, 2, 1)
self.layout.addWidget(self.okButton, 3, 0)
self.layout.addWidget(self.cancelButton, 3, 1)
self.okButton.clicked.connect(self.accept)
self.cancelButton.clicked.connect(self.reject)
class SetPenWidthDlg(qw.QDialog):
#重载构造函数
def __init__(self,parent = None):
#重载父类构造函数
super().__init__(parent)
#改变窗口显示的title
self.setWindowTitle("SetPenWidth")
#设置width的Label
self.widthLabel = qw.QLabel("Width :")
#width的数字框
self.widthSpinBox = qw.QDoubleSpinBox(self)
#范围
self.widthSpinBox.setRange(1,30)
#初始值
self.widthSpinBox.setValue(3)
#ok/cancel
self.okButton = qw.QPushButton("&OK")
self.cancelButton = qw.QPushButton("Cancel")
#显示,竖直布局