pyside6 两个页面互相跳转

news2025/1/17 8:57:52

kuka示教器嵌套UR界面操作ros中rviz的UR机器人-CSDN博客

接上一篇,探索了两个页面互相跳转的操作。

1.两个页面

页面:UrWin,主要显示Ur机器人的VNC远程控制界面

页面:ZcWin,主要是选择插针的长度

 在Ur远程界面点击下一步会跳转到针选择界面,在针选择界面点击上一步按钮会跳转到Ur远程界面。而且只保留一个界面。原界面会非销毁掉。

2.界面实现的代码

ur界面参考上一篇博客,针选择界面也是类似的操作一遍即可

2.1 针选择界面

pyside6-uic zhen_choose.ui -o ui_zhen_choose.py

 

 

# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'zhen_choose.ui'
##
## Created by: Qt User Interface Compiler version 6.6.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QLabel, QPushButton, QSizePolicy,
    QWidget)

class Ui_Zhen_choose(object):
    def setupUi(self, Zhen_choose):
        if not Zhen_choose.objectName():
            Zhen_choose.setObjectName(u"Zhen_choose")
        Zhen_choose.resize(1050, 747)
        Zhen_choose.setStyleSheet(u"background-image: url(:/kuka_top.png);")
        self.label = QLabel(Zhen_choose)
        self.label.setObjectName(u"label")
        self.label.setGeometry(QRect(370, 320, 101, 17))
        self.label_2 = QLabel(Zhen_choose)
        self.label_2.setObjectName(u"label_2")
        self.label_2.setGeometry(QRect(370, 350, 101, 17))
        self.label_3 = QLabel(Zhen_choose)
        self.label_3.setObjectName(u"label_3")
        self.label_3.setGeometry(QRect(370, 380, 101, 17))
        self.Bt_lastone = QPushButton(Zhen_choose)
        self.Bt_lastone.setObjectName(u"Bt_lastone")
        self.Bt_lastone.setGeometry(QRect(500, 570, 89, 25))

        self.retranslateUi(Zhen_choose)

        QMetaObject.connectSlotsByName(Zhen_choose)
    # setupUi

    def retranslateUi(self, Zhen_choose):
        Zhen_choose.setWindowTitle(QCoreApplication.translate("Zhen_choose", u"\u9009\u62e9\u9488", None))
        self.label.setText(QCoreApplication.translate("Zhen_choose", u"\u94881\uff1a50mm", None))
        self.label_2.setText(QCoreApplication.translate("Zhen_choose", u"\u94882\uff1a60mm", None))
        self.label_3.setText(QCoreApplication.translate("Zhen_choose", u"\u94881\uff1a80mm", None))
        self.Bt_lastone.setText(QCoreApplication.translate("Zhen_choose", u"\u4e0a\u4e00\u6b65", None))
    # retranslateUi

2.1 Ur界面 

 

# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'urVnc.ui'
##
## Created by: Qt User Interface Compiler version 6.6.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
    QMetaObject, QObject, QPoint, QRect,
    QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
    QFont, QFontDatabase, QGradient, QIcon,
    QImage, QKeySequence, QLinearGradient, QPainter,
    QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QPushButton, QSizePolicy, QWidget)

from PySide6.QtWebEngineWidgets import QWebEngineView
#from QtWebKitWidgets.QWebView import QWebView

class Ui_urVNC(object):
    def setupUi(self, urVNC):
        if not urVNC.objectName():
            urVNC.setObjectName(u"urVNC")
        urVNC.resize(1056, 750)
        urVNC.setStyleSheet(u"background-image: url(:/kuka_top.png);")
        self.Bt_next = QPushButton(urVNC)
        self.Bt_next.setObjectName(u"Bt_next")
        self.Bt_next.setGeometry(QRect(710, 570, 89, 25))
        self.webView = QWebEngineView(urVNC)
        self.webView.setObjectName(u"webView")
        self.webView.setGeometry(QRect(230, 190, 601, 371))
        self.webView.setUrl(QUrl(u"http://192.168.56.101:6080/vnc.html"))
        self.webView.setZoomFactor(0.500000000000000)
        self.Bt_lastone = QPushButton(urVNC)
        self.Bt_lastone.setObjectName(u"Bt_lastone")
        self.Bt_lastone.setGeometry(QRect(580, 570, 89, 25))

        self.retranslateUi(urVNC)

        QMetaObject.connectSlotsByName(urVNC)
    # setupUi

    def retranslateUi(self, urVNC):
        urVNC.setWindowTitle(QCoreApplication.translate("urVNC", u"UR VNC", None))
        self.Bt_next.setText(QCoreApplication.translate("urVNC", u"\u4e0b\u4e00\u6b65", None))
        self.Bt_lastone.setText(QCoreApplication.translate("urVNC", u"\u4e0a\u4e00\u6b65", None))
    # retranslateUi

3.主程序

      这个实现主要是在主程序里面增加几行代码即可,如下图所示,给相关的按钮赋予点击操作,操作函数显示窗口和关闭窗口。

     

    相关按钮的名字可以在相关ui的python文件中找。如下图,这些名字就是这么一 一对应,选择调用即可。

 

# This Python file uses the following encoding: utf-8

# if __name__ == "__main__":
#     pass

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget
from PySide6.QtCore import QFile
from ui_urVnc import Ui_urVNC
from ui_zhen_choose import Ui_Zhen_choose
import images

class UrWin(QMainWindow):
    def __init__(self):
        super(UrWin, self).__init__()
        self.ui = Ui_urVNC()
        self.ui.setupUi(self)
        self.ui.Bt_next.clicked.connect(self.show_ZcWin)

    def show_ZcWin(self, checked):
        print("dian ji")
        self.w = ZcWin()
        self.w.show()
        self.close()


class ZcWin(QMainWindow):
    def __init__(self):
        super(ZcWin, self).__init__()
        self.ui = Ui_Zhen_choose()
        self.ui.setupUi(self)
        self.ui.Bt_lastone.clicked.connect(self.show_urvnc)
    def show_urvnc(self,checked):
        self.win_urvnc = UrWin()
        self.win_urvnc.show()
        self.close()


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

    window = UrWin()
    window.show()

    sys.exit(app.exec())

 4.运行测试

所需要的文件放到一个文件里面就可以了,

就是这些文件,就可以正常的运行了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1458648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端-游览器渲染原理

渲染 render vue react render 游览器渲染 html字符串 - > 像素信息 游览器是如何渲染页面的? 当游览器的网络线程收到 html文档后,会产生一个渲染任务,并将其传递给渲染主线程的消息队列 在事件循环机制的作用下,渲染主线程取出消息队列中的渲染任务,开启渲染流程. 整…

梵宁教育被误解投诉诈骗全过程始末

近日,梵宁教育因被部分用户投诉涉嫌诈骗而引起了社会的广泛关注。作为一家有着深厚教育背景和良好教育理念的机构,梵宁教育对此事表示高度重视,并在此做出如下澄清和回应。 近期,梵宁教育接到了一些用户的投诉,称其在参…

每日一题——LeetCode1464.数组中两元素的最大乘积

这题就是找数组里的最大值和次大值 方法一 排序 var maxProduct function(nums) {nums.sort((a,b)>b-a)return (nums[0] - 1) * (nums[1] - 1); }; 消耗时间和内存情况: 方法二 一次遍历: var maxProduct function(nums) {let first-1,second-…

常见面试题:TCP的四次挥手和TCP的滑动窗口

说一说 TCP 的四次挥手。 挥手即终止 TCP 连接,所谓的四次挥手就是指断开一个 TCP 连接时。需要客户端和服务端总共发出四个包,已确认连接的断开在 socket 编程中,这一过程由客户端或服务端任意一方执行 close 来触发。这里我们假设由客户端…

工具:clang-format使用

Visual Studio 在扩展-》管理扩展-》联机-》搜索Format on Save (for VS2022)插件,并安装 安装需要关闭VS,安装后重新打开vs。 这样每次保存源文件时就会自动调用vs默认的clang-format.exe对源码进行缩进,空格等进行格式化 如果想使用自定…

Maven依赖下载报错 unable to find valid certification path to requested target

阿里云改了仓库地址&#xff0c;由原来的http改成了https 解决方案一 可以在maven里面中的镜像改成 <mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repo…

LeetCode---384周赛

题目列表 3033. 修改矩阵 3034. 匹配模式数组的子数组数目 I 3035. 回文字符串的最大数量 3036. 匹配模式数组的子数组数目 II 一、修改矩阵 简单模拟即可&#xff0c;代码如下 class Solution { public:vector<vector<int>> modifiedMatrix(vector<vecto…

DP读书:《openEuler操作系统》(十)套接字 Socket 数据传输的基本模型

10min速通Socket 套接字简介数据传输基本模型1.TCP/IP模型2.UDP模型 套接字类型套接字&#xff08;Socket&#xff09;编程Socket 的连接1.连接概述(1)基本概念(2)连接状态(3)连接队列 2.建立连接3.关闭连接 socket 编程接口介绍数据的传输1. 阻塞与非阻塞2. I/O复用 数据的传输…

FEP空气采样袋耐强酸应用环境检测污水处理

FEP袋&#xff0c;又称F46&#xff0c;聚全氟乙丙烯膜&#xff0c;是四氟乙烯和六氟丙烯的共聚物。FEP袋子是采用进口聚全氟乙丙烯材质加工而成&#xff0c;可用做化学瓶的储存袋&#xff0c;耐化学腐蚀衬里&#xff0c;离型膜&#xff0c;生物制药细胞培养&#xff0c;可耐压灭…

Win11专业版安装集成了谷歌框架的安卓子系统,包含谷歌商店

1.摘要 上一篇博客讲述了使用微软商店安装安卓子系统的教程 https://blog.csdn.net/RudeTomatoes/article/details/135958882 上述方法的优点是安装过程简单&#xff0c;但是&#xff0c;由于Windows安卓子系统是微软与亚马逊联合开发&#xff0c;默认没有安装谷歌框架。我尝试…

营销系统黑名单优化:位图的应用解析 | 京东云技术团队

背景 营销系统中&#xff0c;客户投诉是业务发展的一大阻碍&#xff0c;一般会过滤掉黑名单高风险账号&#xff0c;并配合频控策略&#xff0c;来减少客诉&#xff0c;进而增加营销效率&#xff0c;减少营销成本&#xff0c;提升营销质量。 营销系统一般是通过大数据分析建模…

h5网页和 Android APP联调,webview嵌入网页,网页中window.open打开新页面,网页只在webview中打开,没有重开一个app窗口

我是h5网页开发&#xff0c;客户app通过webview嵌入我的页面 点击标题window.open跳转到长图页面&#xff0c;客户的需求是在app里新开一个窗口展示长图页面&#xff0c;window.open打开&#xff0c;ios端是符合客户需求的&#xff0c;但是在安卓端他会在当前webview打开 这…

Sora:新一代实时音视频通信框架

一、Sora简介 Sora是一个开源的实时音视频通信框架&#xff0c;旨在提供高效、稳定、可扩展的音视频通信解决方案。它基于WebRTC技术&#xff0c;支持跨平台、跨浏览器的实时音视频通信&#xff0c;并且具备低延迟、高并发、易集成等特点。 --点击进入Sora(一定要科学哦&#x…

MSS与cwnd的关系,rwnd又是什么?

慢启动算法是指数递增的 这种指数增长的方式是慢启动算法的一个核心特点&#xff0c;它确保了TCP连接在开始传输数据时能够快速地探测网络的带宽容量&#xff0c;而又不至于过于激进导致网络拥塞。具体来说&#xff1a; 初始阶段&#xff1a;当TCP连接刚建立时&#xff0c;拥…

Day50 739每日温度 496下一个更大元素I 503下一个更大元素II

739 每日温度 请根据每日 气温 列表&#xff0c;重新生成一个列表。对应位置的输出为&#xff1a;要想观测到更高的气温&#xff0c;至少需要等待的天数。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 例如&#xff0c;给定一个列表 temperatures [73, 7…

【Unity】管道流动模拟Shader

【Unity】管道流动模拟Shader 抽象模拟管道介质流动的效果&#xff0c;使用顶点片元着色器。可以调整管线光泽&#xff0c;颜色&#xff0c;流动方向&#xff0c;透明度&#xff0c;流动体粗细&#xff0c;流动速度和横断面。 实现效果 Demo效果 Demo下载地址 管线光泽调整 …

OpenAI最新Sora视频学习与生成的技术分析与最新体验渠道

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言OpenAI体验通道Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统…

从 AGP 4.1.2 到 7.5.1——XmlParser、GPathResult、QName 过时

新年首发&#xff0c; 去年的问题&#xff0c;今年解决~ 问题 & 排查 1: Task failed with an exception. ----------- * What went wrong: Execution failed for task :app:processCommonReleaseManifest. > org.xml.sax.SAXParseException; lineNumber: 1; columnNu…

内存计算研究进展-通用的近数据计算架构

通用的近数据计算架构方面代表性工作有&#xff1a; AMD Research的 TOP-PIM&#xff0c;Carnegie Mellon Univeristy 的 TOM&#xff0c; University of Wisconsin-Madison 的 DRAMA 和 NDA&#xff0c;Seoul National University 的 PEI &#xff0c;IBM Research 的 AMC (ac…

【金蝶BI方案】做生产订单分析,要分析哪些指标?

一般来说&#xff0c;做生产订单分析要做量大部分的内容。一个是分析总的计划生产数据和实际完成情况、良品情况&#xff1b;另一个则是详细分析每种产品的订单量、计划生产数量、实际完工数量等。从而让运营管理者更加直接地了解到生产订单情况&#xff0c;更好地安排生产任务…