PyQt5 PushButton 未显示
Posted
技术标签:
【中文标题】PyQt5 PushButton 未显示【英文标题】:PyQt5 PushButton not showing 【发布时间】:2016-07-14 17:32:52 【问题描述】:这是我正在使用的代码,按钮不显示,它只显示一个空白窗口。控制台没有错误。
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()
这是它显示的窗口
【问题讨论】:
【参考方案1】:尝试将父参数传递给构造函数。 parent 参数导致按钮由 Qt 拥有,而不是 PyQt。 btn = QtWidgets.QPushButton("Hi", w)
应该可以工作。
【讨论】:
谢谢。我是 PyQt 的新手。【参考方案2】:您想要显示的任何小部件都需要直接或间接地成为您希望它出现的小部件的父级。
执行此操作的常用方法是为您的小部件分配布局并向其添加其他小部件或子布局。
widget = QtWidgets.QWidget()
button = QtWidgets.QPushButton('Hi')
layout = QtWidgets.QVBoxLayout(widget) # Parents layout to widget
layout.addWidget(button)
widget.show()
在此示例中,widget
被间接分配为 button
到 layout
的父代
【讨论】:
【参考方案3】: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()
【讨论】:
以上是关于PyQt5 PushButton 未显示的主要内容,如果未能解决你的问题,请参考以下文章
Pyqt5 输入信息 pushbutton 与 键盘上Enter绑定