簡體   English   中英

PyQt5 - 如何在沒有布局的情況下將小部件動態添加到 window

[英]PyQt5 - How to dynamically add widgets to window without layout

我一直在嘗試解決這個問題,我不想使用布局的原因是因為小部件在調整大小時會隨 window 縮放,我希望它們保持原樣,我已經做到了我可以拖放的地方小部件,但由於它們處於布局中,所以它搞砸了,請有人幫我解決這個問題。

我希望能夠添加一個 label 小部件,我想將它放在我可以按下按鈕的地方,它將在我的 window 中創建一個新的 label 小部件,但我已經可以添加這部分了沒有布局的小部件。

您只需將另一個屬於 window(或 window 本身)的小部件設置為父小部件,並使用 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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM