很久没发了。 : 重新定义事件处理器: def keyPressEvent(self, QKeyEvent): if QKeyEvent.key() == Qt.Key_Escape: self.close() 按Esc键就会关闭窗口 self.close() 就是关闭窗口的命令 设计一个按钮链接方法的事件 从而显示该按钮的名称的python文件 创建两个按钮: btn1 = QPushButton(‘Button 1’,self) btn1.move(30,50) btn2 = QPushButton(‘Button 2’,self) btn2.move(150,50) 将两个按钮同时连接到方法buttonClicked方法上 btn1.clicked.connect(self.buttonClicked) btn2.clicked.connect(self.buttonClicked) 创建一个状态栏 self.statusBar() 通过调用sender()方法来判断信号源, 并将其名称显示在窗体的状态栏中 sender = self.sender() self.statusBar().showMessage(sender.text() + ‘was pressed’) sender() 使用来判断是哪个按钮发出信号的 得到消息源 clicked一般为发出信号的表示 创建一个单击界面就会关闭窗口的Python文件 定义一个名为Communicate 类 创建了一个名为close的信号接收源 close使用pyqtSignal()创建的 class Communicate(QObject): close = pyqtSignal() 创建一个Communicate类的对象 并且并且将它的close 事件连接到self.close 窗口关闭上 self.c = Communicate() self.c.close.connect(self.close) 当在窗体上点击鼠标时会触发closeApp信号,使程序退出。 def mousePressEvent(self, event): self.c.close.emit() QInputDialog提供了一种简单方便的对话框从用户得到一个值。输入值可以是字符串,一个数字,或一个项目从一个列表。 创建一个按钮并且设定按钮的位置 将单击按钮的事件发出信号并且到showDialog方法 self.btn = QPushButton(‘Dialog’,self) self.btn.move(20,20) self.btn.clicked.connect(self.showDialog) 创建条形输入框并且设定位置: self.le = QLineEdit(self) self.le.move(130,22) 创建一个QInputDalog(对话框并且显示有ok 和cancel 两个按钮,可以设置标题和显示内容)对象并且如何点击ok 就会设置将输入的内容设置到条形输入框中 text,ok = QInputDialog.getText(self,‘Input Dialog’,‘Enter your name:’) #弹出对话框显示ok 和 canel 两个按钮 if ok: self.le.setText(str(text)) 颜色选择对话框的使用 创建一个颜色对象: 该对象接收颜色 col = QColor(0,0,0) #创建一个颜色的对象 0,0,0 为默认颜色 为黑色 按钮创建和信号连接等 self.btn = QPushButton(‘Dialog’,self) self.btn.move(20,20) self.btn.clicked.connect(self.showDialog) 创建一个Frame(框架)对象并且设置框架的背景颜色以及位置 self.frm = QFrame(self) #创建一个Frame对象 self.frm.setStyleSheet(“QWidget { background-color: %s }” % col.name()) #修改框架的背景颜色 self.frm.setGeometry(130,22,100,100) 为设置框架的标准语句要记住 “QWidfet{background-color:%s}” setStyleSheet(“QWidget { background-color: %s }” % col.name()) 创建颜色选择对话框并且得到该颜色: col = QColorDialog.getColor() #通过弹出颜色选择框选择颜色并且给color对象 判断颜色是否有效并且重新设置框架的颜色: if col.isValid(): #判断是否是有效的 self.frm.setStyleSheet(“QWidget{ background-color: %s}” % col.name()) End!
PyQt5学习笔记(七)
Hobby lead creation, technology change world.
- Post link: 588.html
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.