我一直在尝试解决这个问题,我不想使用布局的原因是小部件在调整大小时随窗口缩放,我希望它们保持原状,我已经做到了拖放小部件,但由于它们处于布局中,因此将其弄乱了,请有人帮我解决这个问题。
我希望能够添加一个标签小部件,我想在我可以按下按钮的地方使用它,它会在我的窗口中创建一个新的标签小部件,我已经完成了这部分,但我想成为无需布局即可添加小部件。
答案 0 :(得分:0)
您只需将属于窗口(或窗口本身)的另一个小部件设置为父窗口,并使用 show 方法使其可见:
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()