PyQT 布局之间的导航

2023-12-05

下面是我的应用程序代码,它允许您在窗口之间切换。该菜单有两个编程选项,例如“详细报告”和“所有公司”,现在加载布局后,我不知道如何将按钮放在这两个视图中,以允许您将视图从“详细报告”更改为“全部”公司,反之亦然。你能帮助我吗 :) ?

class App(QMainWindow):
def __init__(self):
    super().__init__()
    self.dashboardView = DashboardWindow()
    self.detailView = RaportWindow()
    self.infoView = InfoWindow()
    self.init_ui()
    self.show()

def init_ui(self):

    main_menu = self.menuBar()
    dashboard = main_menu.addMenu('Dashboard')

    dashboard.addAction(QAction('Detail Raport', self))
    dashboard.addAction(QAction('All companies', self))
    dashboard.triggered.connect(self.change_view)
    self.setWindowTitle(self.title)
    self.show()


def change_view(self, q):
    if q.text() == 'Detail Raport':
        self.detailView.detailRaport(self)
        self.show()
    if q.text() == 'All companies':
        self.dashboardView.setupUIdashboard(self)
        self.show()


class RaportWindow(object):
def detailRaport(self, MainWindow):
    self.centralwidget = QWidget(MainWindow)
    grid = QGridLayout()
    ...
    self.centralwidget.setLayout(grid)
    MainWindow.setCentralWidget(self.centralwidget)

class DashboardWindow(object):
def setupUIdashboard(self, MainWindow):
    self.centralwidget = QWidget(MainWindow)
    grid = QGridLayout()
    .....

    self.centralwidget.setLayout(grid)
    scrollArea = QScrollArea()
    scrollArea.setWidgetResizable(True)
    scrollArea.setWidget(self.centralwidget)
    MainWindow.setCentralWidget(scrollArea)

首先,DashboardWindow 和 RaportWindow 不是小部件,它们是填充您可能使用 Qt Designer 创建的小部件的类,您必须做的是创建一个继承自小部件的类并使用以前的类来填充它。

进入正题,你必须使用QStackedWidget能够交换小部件。

class App(QMainWindow):
    def __init__(self):
        super().__init__()

        self.init_ui()
        self.show()

    def init_ui(self):
        main_menu = self.menuBar()
        dashboard = main_menu.addMenu('Dashboard')
        dashboard.addAction(QAction('Detail Raport', self))
        dashboard.addAction(QAction('All companies', self))
        dashboard.triggered.connect(self.change_view)

        self.dashboardView = Dashboard()
        self.detailView = Raport()

        self.stacked = QStackedWidget()
        self.setCentralWidget(self.stacked)
        self.stacked.addWidget(self.detailView)
        self.stacked.addWidget(self.dashboardView)

    def change_view(self, q):
        if q.text() == 'Detail Raport':
            self.stacked.setCurrentWidget(self.detailView)
        elif q.text() == 'All companies':
            self.stacked.setCurrentWidget(self.dashboardView)

class RaportWindow(object):
    def detailRaport(self, MainWindow):
        ...

class DashboardWindow(object):
    def setupUIdashboard(self, MainWindow):
        ...

class Dashboard(QMainWindow, DashboardWindow):
    def __init__(self, parent=None):
        super(Dashboard, self).__init__(parent)
        self.setupUIdashboard(self)

class Raport(QMainWindow, RaportWindow):
    def __init__(self, parent=None):
        super(Raport, self).__init__(parent)
        self.detailRaport(self)

if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    w = App()
    w.show()
    sys.exit(app.exec_())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQT 布局之间的导航 的相关文章

  • 在 Pandas 中按日期获取有效合约

    我在检测 pandas DataFrame 中的活动合约方面遇到了一些困难 假设每一行都是一个协商 对于每一行 我有两列 initial date 和 end date 我想知道的是按日期划分的活跃合约数量 到目前为止我做了一个非常低效的方
  • 在 Python 中使用 Selenium 处理“接受 Cookie”弹出窗口

    我一直在尝试用硒抓取这个房地产网站的一些信息 但是 当我访问该网站时 我需要接受 cookie 才能继续 这仅在机器人访问网站时发生 而不是在我手动执行时发生 当我尝试通过 xpath 或 id 查找相应的元素时 正如我在手动检查页面时找到
  • Django:如何测试“HttpResponsePermanentRedirect”

    我正在为我的 django 应用程序编写一些测试 在我看来 它使用 HttpResponseRedirect 重定向到其他一些网址 那么我该如何测试呢 姜戈TestCase类有一个方法assertRedirects https docs d
  • 行未从树视图复制

    该行未在树视图中复制 我在按行并复制并粘贴到未粘贴的任何地方后制作了弹出复制 The code popup tk Menu tree opportunity tearoff 0 def row copy item tree opportun
  • Python 3 __getattribute__ 与点访问行为

    我读了一些关于 python 的对象属性查找的内容 这里 https blog ionelmc ro 2015 02 09 understanding python metaclasses object attribute lookup h
  • 如何使用Python将WebP图像转换为Gif?

    我已经尝试过这个 from PIL import Image im Image open this webp im save that gif gif save all True 这给了我这个错误 类型错误 不支持的操作数类型 tuple
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • 如何限制Django CreateView中ForeignKey字段的选择?

    我有一个沿着这些思路的模型结构 models py class Foo models Model class Bar models Model foo models ForeignKey Foo class Baz models Model
  • 如何从 Dockerfile 安装 Python 3.7 和 Pip

    我正在尝试构建基于 Ubuntu 18 04 的自定义 Docker 映像 Ubuntu 预装了 Python 3 6 但我想 1 安装 Python 3 7 2 将其设置为默认 Python 版本 这样就可以使用python代替pytho
  • “char”/“character”类型的类型提示

    char 或 character 没有内置的原始类型 因此显然必须使用长度为 1 的字符串 但是为了暗示这一点并暗示它应该被视为一个字符 如何通过类型提示来实现这一点 grade chr A 一种方法可能是使用内置的 chr 函数来表示这一
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 如何列出 python PDB 中的当前行?

    在 perl 调试器中 如果重复列出离开当前行的代码段 可以通过输入命令返回到当前行 点 我无法使用 python PDB 模块找到任何类似的东西 如果我list如果我自己离开当前行并想再次查看它 似乎我必须记住当前正在执行的行号 对我来说
  • Django 在选择列表更改时创建毫无意义的迁移

    我正在尝试使用可调用创建一个带有选择字段的模型 以便 Django 在选择列表更改时不会创建迁移 如中所述this https stackoverflow com questions 31788450 stop django from cr
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • 张量流:注册 numpy bfloat16 扩展

    正如我所见 tensorflow 中有 bfloat16 的 numpy 扩展 https github com tensorflow tensorflow blob 24ffe9f729160a095a5cab8f592392018280
  • TypeError:无法使用抽象方法实例化抽象类 <...>

    这是我的代码 from abc import ABC from abc import abstractmethod class Mamifiero ABC docstring for Mamifiero def init self self

随机推荐

  • 获取文本文件中的第 n 列

    我有一个文本文件 1 Q0 1657 1 19 6117 Exp 1 Q0 1410 2 18 8302 Exp 2 Q0 3078 1 18 6695 Exp 2 Q0 2434 2 14 0508 Exp 2 Q0 3129 3 13
  • 图像对象 onload 函数立即触发

    我正在创建一些 Image 对象 当我在开发工具中设置网络限制时 我看到 onload 函数在我的图像完全加载之前被调用 我实在找不到解决办法 我的代码 function imgObjects data for var i in data
  • JMeter - 进行负载测试时主从配置相对于所有主设备的优势

    关于 JMeter 用于负载测试的分布式配置 不在云中 我可以在不同的机器上设置 X JMeter master 并使用共享文件夹通过共享文件执行它们 好处是 每个主机都不会注意到其他主机 并且可以在需要时使用动态 不同的属性关闭和启动 每
  • RESTful Web 服务主体格式

    我是新来的WCF 我正在做一些简单的RESTful WCF经营合同 而且 我对财产选择有疑问BodyStyle属性类的WebInvoke 一种选择是WebMessageBodyStyle Bare 另一个是WebMessageBodySty
  • 通过API网关在aws Lambda中获取json正文

    我目前正在使用 NodeJS 通过 AWS Api Gateway 在 AWS lambda 上构建机器人 但遇到了 POST 请求和 JSON 数据的问题 我的 api 使用 使用 Lambda 代理集成 甚至当我测试代理发送 Appli
  • FileReader API 在 jsFiddle 中工作,但不适用于本地文件

    我正在开发一个 Chrome Firefox 扩展 它将使用文件 API 在本地存储文件 我正在尝试启动并运行一个示例 但遇到了似乎以 Chrome 为中心的问题 谁能解释一下为什么这个jsFiddle工作正常 但是完全相同的代码 当从本地
  • 3D球体标签云[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有谁知道如何实现 3D 球体标签云 就像在这个网站上一样 http krypted com 是否有一个 Javascript 库可以轻松做到这一点
  • 努力在shinyapps.io中将我自己的API密钥与googlesheets4一起使用

    我已经让 googlesheets4 在shinyapps io 中工作 代码如下 gs4 auth email email protected path NULL scopes https www googleapis com auth
  • MATLAB:循环绘图

    我尝试在循环内进行绘图 但它仅打印最后一个绘图 我该如何修复它 我尝试过使用hold on and drawnow在情节定义之后但它不起作用 这是我的代码 for t 1 5 alive Game World Generations spe
  • 性能调优 WCF 服务

    对于 WCF Web 服务来说 最重要的性能调整领域是什么 ASP net 线程设置 WCF 节流 请查看下面的文章和白皮书 我认为它们应该为您提供更具体的性能考虑因素供您探索 并可能提供一些非常实用的设置来调整 优化或更改 我也在另一个问
  • 如何使用 python 在heroku 中连接 postgresql 时使用 dj-database-url

    我来这里是因为我对 heroku python django postgresql 小组非常陌生 我在 google 上搜索了 dj database url 的用法 但我不明白为什么在开发需要与 postgresql 连接的 python
  • CakePhp 错误的身份验证重定向

    我刚刚开始学习 Auth 组件 但在重定向方面遇到了问题 我的本地应用程序的路径是 localhost school 但是当登录的用户尝试访问某个网址时 他不允许该网站重定向到 localhost school school 并显示 请求的
  • jQuery UI 令牌

    我按照本教程使用 jQuery UI 生成 Facebook 令牌 例如 http net tutsplus com tutorials javascript ajax how to use the jquery ui autocomple
  • 自动装配到列表中时的 Bean 顺序

    我定义了一个接口IWorker以及它的一些实现WorkerA and WorkerB 都注释为 Component 然后我通过以下方式将它们自动连接到我的应用程序中 Autowired private List
  • 如何从 NSData 字符串数据(不是 UIImage)创建 CGImageRef

    如何在没有 UIImage 的情况下创建新的 CGImageRef 我不能使用image CGImage 我从服务器进程接收到一个以 std string 形式存在的 Base64 编码图像 下面代码的第一部分模拟接收编码字符串 UIIma
  • 股票预测:GRU 模型预测相同的给定值而不是未来的股票价格

    i was just testing this model from kaggle post this model suppose to predict 1 day ahead from given set of last stocks A
  • 为什么colspan影响html表格边框

    所以我偶然发现了一些对我来说似乎很奇怪的东西 例如 以下代码 table tr td align center style border 3px solid black Title td tr tr td style border 2px
  • 如何检查jframe是否打开?

    我下面的代码创建一个新数组并将其发送到聊天 jFrame String info1 new String 3 username userid userid2 are variables info1 0 username4 info1 1 u
  • 如何更改JsRender模板标签?

    我用树枝 它使用这些标签 name 我想将 JsRender 包含在我的项目中 但 JsRender 也使用相同的标签 name 所以存在冲突并且没有任何作用 如何使用自定义标签更改默认的 JsRender 标签 类似于 Ruby UPD
  • PyQT 布局之间的导航

    下面是我的应用程序代码 它允许您在窗口之间切换 该菜单有两个编程选项 例如 详细报告 和 所有公司 现在加载布局后 我不知道如何将按钮放在这两个视图中 以允许您将视图从 详细报告 更改为 全部 公司 反之亦然 你能帮助我吗 class Ap