如何在新 window 中显示小部件 是不使用布局的小部件
How to show widgets in new window witch is widget without using layouts
我没有找到任何如何在新小部件中显示 qlabel qpushbutton 和 qtextedit 等小部件的方法 window.Here 是我的代码:
这是 class 我创建新小部件的地方 window 显示但没有小部件。
class PasswordForm(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Password")
self.setFixedWidth(400)
self.setFixedHeight(300)
self.label = QLabel("Enter Admin Password:")
self.label.setGeometry(QtCore.QRect(80, 20, 211, 31))
self.label.setMinimumSize(QtCore.QSize(0, 31))
self.label.setObjectName("label")
self.admin_pass_input = QLineEdit()
self.admin_pass_input.setGeometry(QtCore.QRect(80, 50, 161, 25))
self.admin_pass_input.setEchoMode(QtWidgets.QLineEdit.Password)
self.admin_pass_input.setObjectName("admin_pass_input")
self.pushButton = QPushButton("OK")
self.pushButton.setGeometry(QtCore.QRect(120, 80, 89, 25))
这是我调用新 window 来显示的函数:
def clicked(self, action):
self.p_form = PasswordForm()
self.p_form.show()
MineWindows 由 PyQT5 Designer 生成。
Qt 的基本规则:一个 QWidget(QLineEdit、QPushButton 等)如果它是这个 QWidget 的子元素或属于 QWidget 一部分的 QWidget 的子元素,那么它将成为另一个 QWidget 的一部分。
所以布局的任务不仅是管理QWidgets的几何形状,还要建立作为管理QWidget所在位置的QWidgets的父级。
在你的情况下,你只需要传递父级:
self.label = QLabel("Enter Admin Password:", self)
self.admin_pass_input = QLineEdit(self)
self.pushButton = QPushButton("OK", self)
我没有找到任何如何在新小部件中显示 qlabel qpushbutton 和 qtextedit 等小部件的方法 window.Here 是我的代码:
这是 class 我创建新小部件的地方 window 显示但没有小部件。
class PasswordForm(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Password")
self.setFixedWidth(400)
self.setFixedHeight(300)
self.label = QLabel("Enter Admin Password:")
self.label.setGeometry(QtCore.QRect(80, 20, 211, 31))
self.label.setMinimumSize(QtCore.QSize(0, 31))
self.label.setObjectName("label")
self.admin_pass_input = QLineEdit()
self.admin_pass_input.setGeometry(QtCore.QRect(80, 50, 161, 25))
self.admin_pass_input.setEchoMode(QtWidgets.QLineEdit.Password)
self.admin_pass_input.setObjectName("admin_pass_input")
self.pushButton = QPushButton("OK")
self.pushButton.setGeometry(QtCore.QRect(120, 80, 89, 25))
这是我调用新 window 来显示的函数:
def clicked(self, action):
self.p_form = PasswordForm()
self.p_form.show()
MineWindows 由 PyQT5 Designer 生成。
Qt 的基本规则:一个 QWidget(QLineEdit、QPushButton 等)如果它是这个 QWidget 的子元素或属于 QWidget 一部分的 QWidget 的子元素,那么它将成为另一个 QWidget 的一部分。
所以布局的任务不仅是管理QWidgets的几何形状,还要建立作为管理QWidget所在位置的QWidgets的父级。
在你的情况下,你只需要传递父级:
self.label = QLabel("Enter Admin Password:", self)
self.admin_pass_input = QLineEdit(self)
self.pushButton = QPushButton("OK", self)