这个常识大家都不屑于写出来吗?我快找了一天都没找到,最后还是去了百度才知道怎么弄,算了大家不屑于写我写,给以后的脑子忘性大的我自己看。
获取组件的宽,控件的名字+width()
w=self.label.width()
同理长为控件名字+height()
h=self.label.height()
获取长宽的组合
size=self.label.size()
看个实例,如图获取label的长宽
我用了点击按钮获取label的长宽,所以而外写了一个函数,代码如下
def get_size(self):
w=self.label.width()#获取label宽
h=self.label.height()#获取长
size=self.label.size()
print(size)
print((w,h))
结果如下
完整代码如下,代码包括了构件一个pyqt5界面,但是没有设置布局(懒得弄了)
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import QApplication,QMainWindow #导入库 import sys #导入库 class Ui_MainWindow(QMainWindow):#这一行的括号里要改成QMainWindow,也就是让 Ui_MainWindow 继承父类 QMainWindow # 初始化代码 主类继承QMainwindow父类,并初始化类 def __init__(self): super().__init__() self.setupUi(self) self.retranslateUi(self) def setupUi(self, MainWindow):#这里的MainWindow 是指要输入一个参数 MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(310, 90, 181, 51)) self.label.setObjectName("label") self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget) self.textBrowser.setGeometry(QtCore.QRect(310, 200, 256, 192)) self.textBrowser.setObjectName("textBrowser") self.lineEdit = QtWidgets.QLineEdit(self.centralwidget) self.lineEdit.setGeometry(QtCore.QRect(480, 0, 321, 51)) self.lineEdit.setObjectName("lineEdit") self.textBrowser_2 = QtWidgets.QTextBrowser(self.centralwidget) self.textBrowser_2.setGeometry(QtCore.QRect(0, 0, 256, 192)) self.textBrowser_2.setObjectName("textBrowser_2") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(620, 60, 93, 28)) self.pushButton.setObjectName("pushButton") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26)) self.menubar.setObjectName("menubar") self.menu = QtWidgets.QMenu(self.menubar) self.menu.setObjectName("menu") self.menu_2 = QtWidgets.QMenu(self.menubar) self.menu_2.setObjectName("menu_2") self.menu3 = QtWidgets.QMenu(self.menubar) self.menu3.setObjectName("menu3") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.firsttry = QtWidgets.QAction(MainWindow) self.firsttry.setObjectName("firsttry") self.firsttry_2 = QtWidgets.QAction(MainWindow) self.firsttry_2.setObjectName("firsttry_2") self.try2 = QtWidgets.QAction(MainWindow) self.try2.setCheckable(False) self.try2.setObjectName("try2") self.try3_2 = QtWidgets.QAction(MainWindow) self.try3_2.setObjectName("try3_2") self.actionfile3 = QtWidgets.QAction(MainWindow) self.actionfile3.setObjectName("actionfile3") self.menu.addAction(self.firsttry) self.menu.addAction(self.firsttry_2) self.menu_2.addAction(self.try2) self.menu3.addAction(self.try3_2) self.menu3.addAction(self.actionfile3) self.menu3.addSeparator() self.menu3.addSeparator() self.menu3.addSeparator() self.menubar.addAction(self.menu.menuAction()) self.menubar.addAction(self.menu_2.menuAction()) self.menubar.addAction(self.menu3.menuAction()) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) self.pushButton.clicked.connect(self.get_size) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label.setText(_translate("MainWindow", "
label 标签:写文字的
")) self.textBrowser.setHtml(_translate("MainWindow", "\n" "\n" "文本框,这是一些不可编辑的(运行之后)
")) self.lineEdit.setText(_translate("MainWindow", "其实就是一个文本框,运行后可随便编辑")) self.textBrowser_2.setHtml(_translate("MainWindow", "\n" "\n" "包括这里也是,可随便编辑运行后。
\n" "Ctrl+R 运行,可以预览一下。
\n" "Push Button 是按钮,可触发一些函数、动作。
")) self.pushButton.setText(_translate("MainWindow", "按钮")) self.menu.setTitle(_translate("MainWindow", "文件")) self.menu_2.setTitle(_translate("MainWindow", "文件2")) self.menu3.setTitle(_translate("MainWindow", "3号")) self.firsttry.setText(_translate("MainWindow", "copy")) self.firsttry_2.setText(_translate("MainWindow", "file1")) self.try2.setText(_translate("MainWindow", "wenjian2")) self.try3_2.setText(_translate("MainWindow", "copy3")) self.actionfile3.setText(_translate("MainWindow", "file3")) def get_size(self): w=self.label.width()#获取label宽 h=self.label.height()#获取长 size=self.label.size() print(size) print((w,h)) if __name__ == '__main__': # QApplication下面画红色波浪线的就是没有的,需要引入进来 app = QApplication(sys.argv) # 建立一个app MainWindow7 = QMainWindow() # MainWindow1随便改 QMainWindow用MainWindow1实体化 ui = Ui_MainWindow() # ui随便改 ui把Ui_MainWindow实体化 ui.setupUi(MainWindow7) # 调用函数搭建MainWindow1组件 ui.label.setStyleSheet("background-color:gray;") MainWindow7.show() # 显示 sys.exit(app.exec_()) # 运行
参考链接:https://www.cnblogs.com/GavinSimons/p/8359284.html