pyqt GridLayout 不显示widget

迷糊 2016-08-25 03:29:04

class MyCalc(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):

# make elements
buttons = ["0", "1", "2", "3", "4", "5", "6",
"7", "8", "9", ".", "+", "-", "*", "/"]

position = [(i,j) for i in range(5) for j in range(4)]
layout = QGridLayout()

for pos,name in zip(position,buttons):
button = QPushButton(name)
layout.addWidget(button, *pos)

self.move(300, 150)

self.show()

if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyCalc()

sys.exit(app.exec_())

只能显示一个空的widget,不能显示buttons。为什么?
尝试修改成

button = QPushButton(name, self)

则所有的button都叠加显示在左上角(只有最后一个button在toppest,是available的)。
新手。
在发帖之前也想过一些办法和搜过一些可能的情况,均未果。
求帮助,多谢。
+++++++++
另,不知道怎么选择分类合适的板块。勿怪。
...全文
374 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧