繁体   English   中英

PyQt5 PushButton不显示

[英]PyQt5 PushButton not showing

这是我使用的代码,按钮不显示,仅显示一个空白窗口。 控制台中没有错误。

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *


import sys

def start():
    app = QApplication(sys.argv)
    w = QWidget()
    w.resize(128,102)
    w.move(0, 0)
    w.setWindowTitle('Simple')
    btn = QtWidgets.QPushButton("Hi")
    btn.move(50, 50)
    btn.resize(btn.sizeHint())
    w.show()

    sys.exit(app.exec_())

start()

这是它显示的窗口 图片

尝试将父参数传递给构造函数。 父参数导致按钮归Qt所有,而不是PyQt。 btn = QtWidgets.QPushButton("Hi", w)应该可以工作。

您想要显示的任何窗口小部件都必须直接或间接地与希望其显示在其上的窗口小部件关联。

常用的方法是为窗口小部件分配一个布局,然后向其添加其他窗口小部件或子布局。

widget = QtWidgets.QWidget()
button = QtWidgets.QPushButton('Hi')
layout = QtWidgets.QVBoxLayout(widget)  # Parents layout to widget
layout.addWidget(button)
widget.show()

在此示例中,通过layoutwidget间接分配为button的父级

from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *


import sys

def start():
    app     = QApplication(sys.argv)
    w       = QWidget()
    w.resize(128,102)
    w.move(0, 0)
    w.setWindowTitle('Simple')

    btn = QtWidgets.QPushButton (w)
    btn.move(50, 50)
    btn.resize(btn.sizeHint())
    btn.setText ('Hi')

    w.show()

    sys.exit(app.exec_())

start()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM