如果您在PyQt5中动态创建小部件并且它们没有显示出来,可能是因为您没有将它们添加到父级小部件中或没有设置正确的位置和大小。在没有布局管理器的情况下,您需要手动设置小部件的位置和大小,并将其添加到父级小部件中。以下是一个示例代码,演示如何动态创建并显示小部件:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200) # 设置主窗口的位置和大小
# 创建并设置位置和大小的小部件
label = QLabel('Hello', self)
label.move(50, 50)
label.resize(100, 30)
button = QPushButton('Click', self)
button.move(50, 100)
button.resize(100, 30)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
在上面的代码中,我们创建了一个MainWindow
类,继承自QWidget
。在initUI
方法中,我们设置了主窗口的位置和大小,并创建了一个QLabel
和一个QPushButton
小部件。我们使用move
方法设置小部件的位置,使用resize
方法设置小部件的大小,并使用self
参数将它们添加到主窗口中。
最后,我们创建了一个QApplication
对象,实例化MainWindow
类,并调用show
方法显示主窗口。
请确保在运行代码之前已经安装了PyQt5库,并运行代码以查看动态创建的小部件是否正确显示在主窗口中。
领取专属 10元无门槛券
手把手带您无忧上云