PyQt5 QSpinBox – 在对象名称更改时添加操作
在本文中,我们将看到如何更改旋转框的对象名称,对象名称基本上是赋予旋转框对象的名称,当我们在 PyQt5 应用程序中借助对象名称找到对象时findChild
方法的帮助。可以借助setObjectName
方法将对象名称设置为旋转框。
Implementation steps –
1. Create a spin box
2. Set its object name
3. Show the object name with the help of label
4. Add action to the spin box when object name is changed which make the suffix of spin box change
5. Create a push button
6. Add action to the push button change the object name of spin box
为了在对象名称更改时添加操作,我们使用objectNameChanged.connect
方法..
Syntax : spin_box.objectNameChanged.connect(method name)
Argument : It takes method name as argument
Action performed : It will call the passed method
下面是实现
# importing libraries
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
# setting title
self.setWindowTitle("Python ")
# setting geometry
self.setGeometry(100, 100, 600, 400)
# calling method
self.UiComponents()
# showing all the widgets
self.show()
# method for widgets
def UiComponents(self):
# creating spin box
self.spin = QSpinBox(self)
# setting geometry to spin box
self.spin.setGeometry(100, 100, 150, 40)
# setting suffix to spin
self.spin.setSuffix(" Spin Box")
# name
name = "Geeky"
# setting up object name
self.spin.setObjectName(name)
# adding action when the spin box object name is changed
self.spin.objectNameChanged.connect(self.spin_method)
# creating label
self.label = QLabel(self)
# setting geometry
self.label.setGeometry(100, 200, 300, 40)
# getting object name
get_name = self.spin.objectName()
# setting text to the label
self.label.setText("Object Name : " + get_name)
# creating a push button
push = QPushButton("Press", self)
# adding action to the push button
push.pressed.connect(self.push_method)
# method called when object name is changed
def spin_method(self):
# setting suffix
self.spin.setSuffix(" Name changed")
# method called by push button
def push_method(self):
# setting object name of spin box
self.spin.setObjectName("New")
# getting object name
get_name = self.spin.objectName()
# showing this new name to label
self.label.setText("Object Name : " + get_name)
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())
输出 :