Pyqt5系列二Word文档下载推荐.docx
- 文档编号:20674620
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:50
- 大小:824.37KB
Pyqt5系列二Word文档下载推荐.docx
《Pyqt5系列二Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Pyqt5系列二Word文档下载推荐.docx(50页珍藏版)》请在冰豆网上搜索。
"
)label2=QLabel("
项目类型:
)label3=QLabel("
项目人员:
)label4=QLabel("
项目成本:
)label5=QLabel("
项目介绍:
)self.nameLable=QLabel("
PyQt5"
)self.nameLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.styleLable=QLabel("
外包"
)self.styleLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.numberLable=QLabel("
40"
)self.numberLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.costLable=QLabel("
400.98"
)self.costLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.introductionLable=QLabel("
服务外包第三方公司"
)self.introductionLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)
nameButton=QPushButton("
..."
)nameButton.clicked.connect(self.selectName)styleButton=QPushButton("
)styleButton.clicked.connect(self.selectStyle)numberButton=QPushButton("
)numberButton.clicked.connect(self.selectNumber)costButton=QPushButton("
)costButton.clicked.connect(self.selectCost)introductionButton=QPushButton("
)introductionButton.clicked.connect(self.selectIntroduction)
mainLayout=QGridLayout()mainLayout.addWidget(label1,0,0)mainLayout.addWidget(self.nameLable,0,1)mainLayout.addWidget(nameButton,0,2)mainLayout.addWidget(label2,1,0)mainLayout.addWidget(self.styleLable,1,1)mainLayout.addWidget(styleButton,1,2)mainLayout.addWidget(label3,2,0)mainLayout.addWidget(self.numberLable,2,1)mainLayout.addWidget(numberButton,2,2)mainLayout.addWidget(label4,3,0)mainLayout.addWidget(self.costLable,3,1)mainLayout.addWidget(costButton,3,2)mainLayout.addWidget(label5,4,0)mainLayout.addWidget(self.introductionLable,4,1)mainLayout.addWidget(introductionButton,4,2)
self.setLayout(mainLayout)
defselectName(self):
name,ok=QInputDialog.getText(self,"
项目名称"
"
输入项目名称:
QLineEdit.Normal,self.nameLable.text())
ifokand(len(name)!
=0):
self.nameLable.setText(name)defselectStyle(self):
list=["
自研"
]
style,ok=QInputDialog.getItem(self,"
项目性质"
请选择项目性质:
"
list)
ifok:
self.styleLable.setText(style)
defselectNumber(self):
number,ok=QInputDialog.getInt(self,"
项目成员"
请输入项目成员人数:
int(self.numberLable.text()),20,100,2)
self.numberLable.setText(str(number))
defselectCost(self):
cost,ok=QInputDialog.getDouble(self,"
项目成本"
float(self.costLable.text()),100.00,500.00,2)
self.costLable.setText(str(cost))
defselectIntroduction(self):
introduction,ok=QInputDialog.getMultiLineText(self,"
项目介绍"
介绍:
服务外包第三方公司\nPythonproject"
)
self.introductionLable.setText(introduction)
if__name__=="
__main__"
:
importsysapp=QApplication(sys.argv)myshow=InputDialog()myshow.show()sys.exit(app.exec_())
运订之后的效果:
示例说明:
通过点击不同的按钮,来选择不同类型的输入对话框,从而选择所需的数据。
代码分析:
L18~22:
label仁QLabel("
项目名称:
项目类型:
项目人员:
项目成本:
项目介绍:
)定义了数据项名称的标签。
L24~33:
self.nameLable=QLabel("
self.nameLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.styleLable=QLabel("
外包"
)self.styleLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)
self.numberLable=QLabel("
self.numberLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.costLable=QLabel("
)self.costLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)self.introductionLable=QLabel("
服务外包第三方公司"
)self.introductionLable.setFrameStyle(QFrame.Panel|QFrame.Sunken)
定义了项目数据项中的数据内容,数据内容显示在对应的标签中。
setFrameStyle()设定标签的样式,有如下的样式:
QFrame.Box
QFrame.Panel
QFrame.WinPanel
QFrame.HLine
QFrame.VLine
QFrame.StyledPanelQFrame.SunkenQFrame.Raised
L35~L44:
)introductionButton.clicked.connect(self.selectIntroduction)实例化QPushButton对象,并将对应的clicked信号和自定义的槽函数绑定起来。
L46~61:
实例化网格布局,并将对应的控件添加到网格布局中。
功能分析:
1:
获取项目名称:
项目名称"
输入项目名称:
QLineEdit.Normal,self.nameLable.text())
self.nameLable.setText(name)
QInputDialog中很多方法均为静态方法,因此不需要实例化直接可以调用。
调用
QInputDialog的getText()函数弹出标准字符串输入对话框,getText()函数原型如下:
|getText(...)
|QInputDialog.getText(QWidget,str,str,QLineEdit.EchoMode
echo=QLineEdit.Normal,strtext=QString(),Qt.WindowFlagsflags=0,Qt.InputMethodHintsinputMethodHints=Qt.ImhNone)->
(str,bool)
第1个参数parent,用于指定父组件;
第2个参数str,是标准输入对话框的标题名;
第3个参数str,标准输入对话框的标签提示;
第4个参数echo,mode指定标准输入对话框中QLineEdit控件的输入模式;
第5个参数str,标准输入对话框中QLineEdit控件的默认值;
第6个参数flags,指明标准输入对话框的窗体标识;
第7个参数inputMethodHints,通过选择不同的inputMethodHints值来实现不同的键盘布局;
单击nameButton之后的效果:
若用户单击了“0K”按钮,则把新输入的名称更新至显示标签。
2:
获取项目属性:
defselectStyle(self):
list=[”外包"
,”自研”]
style,ok=QInputDialog.getltem(self,"
项目性质"
请选择项目性质:
list)ifok:
self.styleLable.setText(style)
调用QInputDialog的getItem()函数弹出标准条目选择对话框,getItem()函数原型如下:
|getItem(...)
|QinputDialog.getltem(QWidget,str,str,list-of-str,intcurrent=O,booleditable=True,
Qt.WindowFlagsflags=0,Qt.InputMethodHintsinputMethodHints=Qt.lmhNone)->
第1个参数parent,用于指定父组件;
第2个参数str,是标准条目选择对话框的标题名;
第3个参数str,标准条目选择对话框的标签提示;
第4个参数list-of-str,标准条目选择对话框中对应条目的list;
第5个参数editable,标准条目选择对话框条目是否可编辑标识,默认为不可编辑;
第6个参数flags,指明标准输入对话框的窗体标识;
第7个参数inputMethodHints,通过选择不同的inputMethodHints值来实现不同的键盘布局.;
单击styleButton之后的效果:
若用户单击了“0K”按钮,则把新选择的类型更新至显示标签。
3:
获取项目成员:
number,ok=QInputDialog.getlnt(self,"
项目成员"
请输入项目成员人数:
int(self.numberLable.text()),20,100,2)
self.numberLable.setText(str(number))
调用QInputDialog的getlnt()函数弹出标准int类型输入对话框,getInt()函数原型如下:
|getInt(...)
|QInputDialog.getlnt(QWidget,str,str,intvalue=0,intmin=-2147483647,int
max=2147483647,intstep=1,Qt.WindowFlagsflags=0)->
(int,bool)
第2个参数str,是标准int类型输入对话框的标题名;
第3个参数str,标准int类型输入对话框的标签提示;
第4个参数value,标准int类型输入对话框中的默认值;
第5个参数min,标准int类型输入对话框中的最小值;
第6个参数max,标准int类型输入对话框中的最大值;
第7个参数step,标准int类型输入对话框中的步长,即QSpinBox中上下选择是数据
变化的步长;
第8个参数inputMethodHints,通过选择不同的inputMethodHints值来实现不同的键盘布局;
单击numberButton之后的效果:
「i垠目直臭i备
口成员人和:
.金F
[GT|[Um«
1
]L
L.J
若用户单击了“OK”按钮,则把新选择的成员数据更新至显示标签。
4:
获取项目成本:
项目成本"
,”请输入项目成员人数:
”,float(self.costLable.text()),100.00,500.00,2)
self.costLable.setText(str(cost))
调用QInputDialog的getDouble()函数弹出标准float类型输入对话框,getDouble()函数原型如下:
|getDouble(...)
|QinputDialog.getDouble(QWidget,str,str,floatvalue=0,floatmin=-2147483647,
floatmax=2147483647,intdecimals=1,Qt.WindowFlagsflags=0)->
(float,bool)
第2个参数str,输入对话框的标题名;
第3个参数str,输入对话框的标签提示;
第4个参数value,标准float类型输入对话框中的默认值;
第5个参数min,标准float类型输入对话框中的最小值;
第6个参数max,标准float类型输入对话框中的最大值;
第7个参数decimals,小数点后面保留的位数;
单击costButton之后的效果:
若用户单击了“0K”按钮,则把新选择的成本数据更新至显示标签
5:
获取项目介绍:
defselectIntroduction(self):
项目介绍"
介绍:
服务
外包第三方公司\nPythonproject"
self.introductionLable.setText(introduction)
调用QInputDialog的getMultiLineText()函数弹出标准多行文本类型输入对话框,getMultiLineText()函数原型如下:
|getMultiLineText(...)
|QinputDialog.getMultiLineText(QWidget,str,str,strtext="
Qt.WindowFlags
flags=0,Qt.InputMethodHintsinputMethodHints=Qt.lmhNone)->
第4个参数text,输入对话框中LineEdit的默认值;
第5个参数flags,指明标准输入对话框的窗体标识;
第6个参数inputMethodHints,通过选择不同的inputMethodHints值来实现不同的键盘布局;
单击introductionButton之后的效果:
若用户单击了“0K”按钮,则把新修改的项目介绍信息更新至显示标签
六基本界面组件之MessageBox
消息框针对某个场景以文本的形式向用户进行提示,为了获取用户的响应消息框可以显
示图标和标准按钮。
在实际的界面交互中,经常会看到各种类型的消息框,显示关于消息框,显示严重错误消息框,显示警告消息框等等。
由于这些对话框在各个程序中都是一样的,所
以QT中就统一提供了一个QMessageBox的类,这样在所有程序中都可以直接使用。
QMessageBox提供两套接口来实现,一种是staticfunctions(静态方法调用),另外一种
theproperty-baseAPI(基于属性的API)。
直接调用静态方法是一种比较简单的途径,但是没有基于属性API的方式灵活。
在QT的官网上推荐使用theproperty-baseAPI。
Staticfunctions方式:
QMessageBox用于显示消息提示。
一般会使用到其提供的几个static函数(C++层的函
数原型,其参数类型和
python中的一样):
惫回值
函数原型
void
about(QWidget:
srct
OStringtlconstQString
itext)
显示关于对话框,遠是一个杲简单的对话框>
对话框只有一平0K按钮
aboutQtCQWidLget♦parent^constQStringAtitle=QStringO)
显示关于at对话框•该对话框用于显示有关Qt的信息.
StaadardButton
critical(QWidget*par电nt,constQString血titl岂constQStringStsniirdEuttcnsbuttens=Ok,SlanderIButtendsfaultButten=Vofiuttan)
显示严重错误对话框•这个对话框将显示一亍红色的堵误符号.我们可以通过button参数指明苴显示的按钮-默认情况下只有一个Ok按钮「我们可以悽用Stand^rdButtons^型指定寥种按钮
StaiidardButtOin
informaticn(QWidget*pareixesnstQString勺cowE
ing
buttons=Ok,StandardButtoikdefaultButtan=NoEutton)
显示提示对话框,提供一个晋通信息图
标
StaxidardB口七ton
question(QWidget*pareikt、constQString此titlconstQString
Atext,,StandardButtciisbuttens-StandardEuttons(TiesNoJ』StanlardButtondef&
ultEuttcn=MoButtwi)
显示诃问对话框,提供一牛问号图标
StdButton
warningiget*par&
nt,const
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pyqt5 系列
![提示](https://static.bdocx.com/images/bang_tan.gif)