代码如下:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QFont, QPalette, QPixmap
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip, QHBoxLayout, QMainWindow, QLabel, QVBoxLayout,QDialog, QLineEdit, QGridLayout
'''
QLabel控件的伙伴控件来创建一个登录窗口
mainLayout.addWidget(控件对象,rowIndex,columIndex,row,column)
'''
class QLabelBuddy(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置定位和左上角坐标
self.setGeometry(300, 300, 400, 250)
# 设置窗口标题
self.setWindowTitle('登录窗口 QLabel 控件的伙伴控件')
# 设置窗口图标
# self.setWindowIcon(QIcon('../web.ico'))
nameLabel = QLabel('姓名(&N)',self)
nameLineEdit = QLineEdit(self)
#设置伙伴控件
nameLabel.setBuddy(nameLineEdit)
passwordLabel = QLabel('密码(&P):',self)
passwordLineEdit = QLineEdit(self)
#设置伙伴控件
passwordLabel.setBuddy(passwordLineEdit)
btnOK = QPushButton('确认(&E)')
btnCancel = QPushButton('取消(&C)')
mainLayout = QGridLayout(self)
mainLayout.addWidget(nameLabel,0,0)
mainLayout.addWidget(nameLineEdit,0,1,1,2)
mainLayout.addWidget(passwordLabel,1,0)
mainLayout.addWidget(passwordLineEdit,1,1,1,2)
mainLayout.addWidget(btnOK,2,1)
mainLayout.addWidget(btnCancel,2,2)
if __name__ == '__main__':
app = QApplication(sys.argv)
# 设置应用图标
app.setWindowIcon(QIcon('../web.ico'))
w = QLabelBuddy()
w.show()
sys.exit(app.exec_())