实例介绍
自己学习视频做的笔记 希望能帮到PYQT5向学习的新手 大家一起进步
料 °(什)(X) SetBuy(d) >偏件 →>E→ 双 信二>发 内→函/ →两常徘定 >6一>端角怎影/ 室了 注D单位 中= def centerl〔seLf): #获取屏幕坐标系 screen - QDesktopWidgetO. screenGeometryo #获取窗口坐标系 size self geometry newLeft =(screen width- size width 2# newTop=(screen. height- size. height)/2 self move(newLeft,e.底中 斗y import sys 12345 from PyQt5 QtWidgets import QHBoXLayout QMainWindow, QApplication, QPushButton, QWidget class Qui tAppl i cation(QMainWindow): def init_(self) super cQuitApplication, seLf).-_init_O self. resize(300, 120) seLf, setWindowTitle('退出应用程序') 添加 Button seLf. button1= QPush Button('退出应用程序") 13 #将信号与槽关联 14 self button1. clicked. connect(self onClick_Button) QHBoxL yutQ#十布局 17 Layout. addwidget Cself button1) 18 加 19 mainFrame=01getg并 20 (main Frame. setLayout(layout 21 22 self. setCentralWidget(main Frame)+io 23 #按钮单击事件的方法(自定义的槽) def on Click_Button (self: sender= self sender o print( sender.text(+’按钮被按下") app QApplication. instanceO) 退出应用程序 op quito 烏坐尔 widget. ()=250 屏幕坐标系 widget. y()=200 widget width()=300 基密 widget. height()=240 widget. geometry ().X()=250 widget. geometry().y widget. geometry() 8:2021这 widget. geometry (). height()=240 widget. resize(3,240)#设置工作区的尺寸 widget. frame Geometry().x()=250 widget. frame Geometry().y()=200 widget. move (250, 200) widget. frame Geometry(). width()=300 widget. frameGeometry(). height()=(262)>240+22 标栏 设置初 14: app. setwindowIcon(QIcon('/images/Dragon.ico)) 窗口的 setwindowIcon方法用于设置窗口的图标,只在 Windows中可用 QAplication中的 setwindowIcon方法用于设置主窗口的图标和应用程序图标,但调用了窗口的 setwindowIcon方法 REplication中的 IsetWindow Icon方法就只能用于设置应用程序图标了 丹提信 from inats aqui import &font def initUI(self): QTooLTip, set Font(QFont( Sans Serif, 12)) seLf, setTooLTip(今天是<b>星期五</b>") self. setGeometry (300, 300, 200, 300) 窗P展示信 seLf, setwindowitled'设置控件提示消息") self. button1= QPushButton(我的按钮"〕 self.buon1. setToolTip(这是一个按钮, Are you ok?P) layout QHBoxLayouto) 按纽 Layout. addWidget(self, button1) main Frame = QWidgeto ainFrame, setLayout (layout) self set CentraLWidget(mainFrame) 可控件 ahel.2 信 QLabel常用的信号(事件): reaLignment():设置文本的对齐方式 1.当鼠标滑过 QLabel控件时触发: LinkHovered setIndent():设置文本缩进 2.当鼠标单击 LAbel控件时触发: LinkActivated text(:获取文本内容 Import sys setUla:设置伙伴关系 from PyQt5 QtWidgets import QHBoxLayout, QMainWindow, QApplication, QLabel, QWidget from PyQt5 QtGui import QPalette setText(:设置文本内容 class QLabelDemocQWidget): selectedText():返回所选择的字符 def -_init_(self) super O.__init__O setWordwrap(:设置是否允许换行 self initIO from PyQt5. QtCore import Qt def initUI(self label1 QLabel(self) 平学 Label2= QLabel〔self) Label= QLabel(self) Label= qLabel(self) label1. setText"< Font color- yellow这是一个文本标签,/font>") label1. setAutoFilLBackground(True )4 palette QPaletteO palette. setColorCQPaLette. indow, kt. blue) Labe l1 setPalette(palette)s labe l1. setAlignment(Qt. AlignCenter) 画色锅收本民 Label2. setText("< a href='#>欢迎使用 thon GUI程序<a>") labels. setAlignment(Qt Align Center) from PyQt5. QtGui import QPixmap Label3. setToolTip(这是一个图片标签1) labeL3. setPixmap(QPixmap("./images/python. jpg")) label4.settext(<ahref='https://item.jd.com/12417265.html >感谢关注《 Python,从菜鸟到高手》</0>") QLabel控件演示 label4. setTo lTip(这是一个超级链接 是一个文本标签 vbox QVBoxLayoutO) 口:thge 欢迎使用 Python GU程序 vbox. addwidget(le abe l2) nrwnisnea vbox. addWidgetClabe L3) vbox. addWidget Clabe 14) label2. linkHovered. connect(self. linkHovered) label.linkActivated connect self linkClicked) 线方长 Python self. setLayout (vbox) self, setWindowTitle(' QLabe控件演示") 感谢关注《 Python从菜鸟到高手 def linkHovered(self) print(当鼠标滑过 Label2标签时,触发事件') if name matn. def linkclicked( self: app= APplication(sys. argv) print("当鼠标单击 label4标签时,触发事件'") main= QLabel Demo main showo sys. exit Capp exec_O) 6列 label4. setOpenExternalLinks(rue)饭初开网反 #如果设为True,用浏览器打开网页,如果设为 False,调用槽函数 label. setopenExterna LLinks CTrue) i4t、 Cnet(0 k人) class QLabel Buddy (DIalog): def -init__(self): supero.__init__O self. initUI( def initUICself): self, setwindowTitle(" QLabel与伙伴控件") nameLabel QLabel("&Name, self) nameLineedit QLineEdit(self) 格航+ #设置伙伴控件 nameLabel. setBuddy (nameLineEdit) ●0● QLabe与伙伴控件 passwordlabel QLabel('&Password, self) passwordLineedit QLineEdit(self) #设置伙伴控件 Password passwordlabel set Buddy (passwordLineedit) Cancel btnoK QPushButtonC'&0K) btn Cancel= QPushButton("&Cancel ') btnOK QPushButton('&0K) btn Cancel QPushButton ("&CanceL) Alto mainLayout QGridLayout(self) Alttc mainLayout. addWidget(nameLabel, 0,0) A比+P mainLayout. addwidgetcnameL ineedit, 0,1, 1,2) mainLayout. addWidget(passwordLabel, 1, 0) mainLayout. addWidget(passwordLineEdit, 1, 1, 1, 2) 布局置 mainLayout. addWidgetcbtnOK21me件象 miNded) ow,colum mainLayout. addWidgetCbtn Cancel, 2, 2) 讠f_nam app QApplication(sys. argv) main =QLabelBuddyo main showo sys. exit(app. exec_O) 基本功能:输入单行的文本 EchoMode(回显模式) 1.2、3AB 4种回显模式 1. Normal 2. NeCho 3. Password 4.Pas5 ordEchoonedit123+义又头 class QLineEditEchoMode CQWidget): def init_〔self): super (QLineEditEchoMode, self)._init__O self initIO def initUI(self): self. setWindowTitle(文本输入框的回显模式") formL ayout QFormLayouto)并群单 M标k normalLineEdit QLineedit( noEchoLineEdit QLineEdito 井西个控件 passwordLineEdit QLineedito passwordEchoOnEditlineEdit QLineEdito formLayout. addRow( "Normal", normaLLineEdit) formLayout. addRowC NoEcho", noEchoLineEdit) 挖件体协刹速半 formLayout. addRow c " Password",pas swordLineEdit) formLayout. addRow( "PasswordEchoOnEdit", passwordEchoOnEditLineedit) x placeholdertext 标签 本花4 normaLLineEdit. set PlaceholderTextC"NormaL") noEchoLineEdit. setPlaceholder Text( NoE cho") 井共示,当给入后提不 passwordlineEdit. setPlaceholderText( Pas sword") passwordechoonEditLineEdit. setPlaceholder Text( PasswordEchoonEdit") normalLineedit. setEchoMode (QLineEdit Normal) noEchoLineEdit. setEchoMade (qlineEdit NoEcho) 回长 passwordLineEdit. setEchoMode (QLineEdit. Password) passwordEchoOnEditLineEdit. setEchoMode ( qLineEdit PasswordEchoOnEdit) if ngme = main app QApplication (sys, argv) ●●文本输入框的回显模式 main QLineEditEchoModeo main showo Normal afddfdfdfdffd sys. exitcapp exec_O) NeCho Password市 Password Choon Edit dfdfd 现在 QLineEdit控件的输入(校验器) 如限制只能输入整数、浮点数或灡足一定亲件的字符串 越数 from PyQt5.QtGui import QIntValidator, QDoublevalidator, QRegExpValidator from PyQt5Qt Core import QRegExpe class QLineedi tvali dator (QWidget) def -_init__(self): super(QLine Editvalidator, self.--init--o self initIO def inituI(self) 校验器 self. setWindowTitle("校验器') 整数类型型 #创建表单布局 浮点类型浮点型 FormLayout QFormLayouto 敌字和字母字母和数字 intlineedit= QLineEdito doublelineEdit= QLineEdito validatorLineedit= QLineedito formLayout. addRow("整数类型', intL ineEdit formLayout, addRout浮点类型', doublelineEdit) formLayout. addRow("数字和字母", validatorLineedit) intlineedit, setPlaceholder text(整型" doublelineEdit, setPlaceholdertext(浮点型") validatorLineEdit, setplaceholderText(字母和数字) 整数校验器[1,997 intValidator QIntValidator (self) 井则 intvalidator strAnge (1, 99) #浮点校验器[-360,3607,精度:小数点后2位 doublevalidator QDoubleValidator(self) doublevalidator. setRange (-360, 360) doublevalidator. setNotation (QDoublevalidator. standardNotation) #设置精度,小数点2位 doublevalidator. setDecimals(2) 字符和数字 reg- QRegExp( [a-zA-z0-9]+$) validator QRegExpvalidator(self) vaLidator. setRegExp(reg) 设置校验器 intLineEdit. setvalidator (intValidator doublelineedit. setvalidator(doublevalidator) vaLidatorLineEdit. setValidator (validator) self. setLayout(formLayout) eif matn app= QApplication(sys. argv) main QLineEditValidator main showo) sys. exit(app. exec_O) 用掩码限制 QLineEdit控件的输入 AASC字母字符是必须输入的(A-2、a-2) aASC字母字符是允许输入的,但不是必需的(A-2、a-2) NI ASC字母字符是必须输入的(A-2、a-2、-9) n ASII字母字符是允许输入的,但不是必需的(A-2、a-2、0-9) X任何字符都是必须输入的 X任何字符都是允许输入的,但不是必需的 9ASCI数字字符是必须输入的(0-9) 0ASC工数字字符是允许输入的,但不是必需的(0-9) DASC工数字字符是必须输入的(1-9) d ASCI数字字符是允许输入的,但不是必需的(1-9) ASC数字字符或加减符号是允许输入的,但不是必需的 H十六进制格式字符是必须输入的(A-F、a-f、-9) h+六进制格式字符是允许输入的,但不是必需的(A-F、a-f、0-9) B二进制格式字符是必须输入的(0,1) b二进制格式字符是允许输入的,但不是必需的(,1) 所有的字母字符都大写 所有的字母字符都小写 !关闭大小写转换 使用"\转义上面列出的字符 class QLineEditMask (QWidget): def lit(self): ●用掩码限制 QUine Edi控, super CQLineEditMask, self).-_init__O self initIO 数字掩码 Mac掩码_::::: def inituI(self: self, setindowtitle("用掩码限制 QLineEdit控件的输λ") 日期掩码 formLayout QFormLayoutO 许可证掩码####-#群##-#群# ipLineEdit QLineEdito macLineEdit QLineEdito dateLineEdit= QLineEdito licenselineEdit= QLineEdito 192.168.21.45 y未给入,认为一 ipLineEdit. setInputMask( 000 000 000 000 macLineEdit. setInputMask("HH: HH: HH: HH: HH: HH; ' dateLineEdit. setInputMask( 0000-00-00) licenseLineEdit. setInputMask(>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA; #' formLayout. addRow("'数字掩码',讠 pLineEdit) formLayout. addOn("Mac掩码', macLineedit) formLayout. addrout("日期掩码', datelineEdit formLayout, addOn("许可证掩码", icenselineEdit) self. setLayout(formL ayout) if name == main: app= QApplication(sys. argv) main- QLineEditMaskk main showO sys. exit(app. exec_O) 、坐t0M)→为读 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论