PyQt5 -如何在没有布局的情况下动态地向窗口添加小部件



我一直在试图弄清楚这一点,我不想使用布局的原因是因为小部件在调整大小时随窗口缩放,我希望它们保持不变,我已经做到了可以拖放小部件的地方,但是它们在布局中会把它弄乱,请有人帮我弄清楚。

我希望能够添加一个标签小部件,我想有它,我可以按下一个按钮,它会在我的窗口中创建一个新的标签小部件,我已经完成了这部分,但我希望能够添加小部件没有布局。

您只需要设置另一个窗口(或窗口本身)的一部分的小部件作为父,并使其可见的显示方法:

import random
import sys
from PyQt5 import QtCore, QtWidgets

class Widget(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
button = QtWidgets.QPushButton("Add", self)
button.clicked.connect(self.handle_clicked)
self.resize(640, 480)
def handle_clicked(self):
pos = QtCore.QPoint(*random.sample(range(400), 2))
label = QtWidgets.QLabel(self)
label.move(pos)
label.setText("{}-{}".format(pos.x(), pos.y()))
label.show()

def main():
app = QtWidgets.QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec())

if __name__ == "__main__":
main()

最新更新