QMdiArea中多个小窗口如何自动调整大小以挤满整个窗口界面?(tile/cascade)

QMdiArea中多个小窗口如何自动调整大小以挤满整个窗口界面?

您可以使用 QMdiArea.tileSubWindows() 方法,它会自动将所有的子窗口在 QMdiArea 中平铺,并将它们的大小自动调整以适应 QMdiArea 的大小。调用这个方法后,所有的子窗口都会填充整个 QMdiArea,并且它们的大小会自动适应。

以下是一个示例代码,演示如何使用 tileSubWindows() 方法自动调整 QMdiArea 中所有子窗口的大小以填充整个 QMdiArea:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMdiArea, QMdiSubWindow, QTextEdit, QAction

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建一个QMdiArea
        mdi = QMdiArea()
        self.setCentralWidget(mdi)

        # 创建多个QMdiSubWindow,并将它们添加到QMdiArea中
        for i in range(4):
            sub = QMdiSubWindow
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
主要是对何青编写的java游戏程序设计教程的综合运用,游戏主体主要有两关,本游戏需求许多相关要素,包括玩家的键盘各种按键的处理办法,包括左右移动,space跳跃,r键重新开始,ctrl发射子弹,p键暂停,esc退出到菜单,还有包括自己调试时加的’j’、’z’、’+/=’、’-’所分别代表的unattack态,跳跃初速度加10,进入下一关,回到上一关,并且设计了各种道具(包括恢复生命的红心,获得uattack状态的五角星和提升跳跃的能量球),设计了四种敌人,因为时间紧促,目前行为模式没有什么区别,但设计了简单的反应,例如在发现玩家之后会主动冲向玩家(设计了关于敌人是否发现玩家的hasFoundPlayer()方法放在npc类之,并对其进行相关使用来实现),而不是机械性的反复运动,此外游戏本身有着计分系统,虽然没有完善通关记录的实现,但还是能时刻在屏幕显示分数,此外在屏幕还会显示敌人数和剩余生命,本游戏设计了两个关卡并通过文件读写和将其数据转化为各种砖块背景(所写的TileMap类和gameworldmanager类的loadTileMap方法来实现),以及通过BufferedImage来存放背景并能将背景(窗口背景)进行滚动(通过所写的Ribbon 类的各种方法)从而达到背景在玩家走的时候也在动的感觉。同时设计了子弹的发射,能够通过子弹和‘踩’击杀敌人获得分数。当击杀玩全部敌人进入下一关卡等等。每一句都有相应的注释,附带一个上万字的java大作业报告书,适用于想在大学期间学习简单java游戏设计的同学。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我想要身体健康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值