精华内容
下载资源
问答
  • 实现跳转的方法类似,比如,我要从FirstWindow界面跳转到StudentLogin界面,只需要在setup函数中增加self.pushButton_student.clicked.connect(self.on_pushButton_studentNumber_clicked),并且额外再写一个函数: ...

    用qt designer画图后导出成py文件。这个文件定义了一个Ui_MainWindow类,然后我在这个类中补充槽函数,并且在自带的setup函数中增加触发机制。现在这个Ui_MainWindow类就定义好了。然后,如果这个界面不是第一个界面的话,我再在同一个py文件中写一个子类(如果是第一个界面的话这一段我放在主程序文件里,不过放哪里应该都不影响):

    class StudentLogin(QtWidgets.QMainWindow, Ui_StudentLogin):
        def __init__(self, parent=None):
            super(StudentLogin, self).__init__(parent)
            self.setupUi(self)
    

    这样,对应着某个界面的一个py文件就写好了。

    实现跳转的方法是,比如,我要从FirstWindow界面跳转到StudentLogin界面,只需要在setup函数中增加self.pushButton_student.clicked.connect(self.on_pushButton_studentNumber_clicked),并且额外再写一个函数:

     windowList = []
        def on_pushButton_studentNumber_clicked(self):
            print("点击firstwindow的按钮,即将跳转studentlogin")
            the_window = StudentLogin()
            self.windowList.append(the_window)
            self.close()
            the_window.show()
    

    这样就可以实现在点击pushButton_student这个按钮时,跳转到下一个页面。我本来希望用这种方式让第二个页面还能再跳转到第三个,但是我发现,跳转到第二个页面时仍然是正常的,但跳转到第三个页面时,第三个页面出现了三个。

    三个页面 不传递信息

    下面运行主程序文件后出现的第一个页面。

    在这里插入图片描述
    点击学生登录后,第一个页面消失,出现第二个页面。

    在这里插入图片描述
    输入学号
    在这里插入图片描述
    点击登录后,拖开发现居然有三个页面!
    在这里插入图片描述
    我在每一个跳转函数中都写了一个print语句,例如:

    def on_pushButton_studentNumber_clicked(self):
        print("点击firstwindow的按钮,即将跳转到studentlogin")
        the_window = StudentLogin()
        self.windowList.append(the_window)
        self.close()
        the_window.show()
    
         print("点击studentlogin的按钮,即将跳转到studentfunctions")
         the_window = StudentFunctions()
         self.windowList.append(the_window)
         self.close()
         the_window.show()
    

    最后结果是这样的:
    在这里插入图片描述
    居然跳转到studentfunctions跳转了6次。
    看起来仅仅是页面多了几个,但是在签到、请假等功能的实现中,这个问题导致同一个sql语句重复执行,最后导致出错。
    另:我还尝试过把三个界面放在同一个py文件中,来避免互相import,但是结果是一样的。

    两个页面 传递信息

    其实如果仅仅是不能做三个以上的页面也没什么,但是似乎两个页面的跳转也只能在“不传递信息”的情况下实现,一旦传递信息就又会出现重复执行多次的情况。
    学生签到系统需要在多个页面之间传递信息,就是说,在登录页面输入学号和密码成功登录之后,系统应该记住“你是谁”。所以在登录之后,要签到的时候,只需要填课程和周次等,而不需要填自己的名字、学号等信息,因为系统已经知道你是谁了。
    实现它的方法是在前一个页面设置全局变量(在我的程序中是STUDENTNUMBER和STUDENTNAME),然后子页面只需要import前一个页面的py文件,就可以使用这个全局变量。
    比如,前一个页面StudentLogin2.py中点击按钮会调用的函数是这样的:

     windowList = []
        def on_pushButton_login_clicked(self):
            print("点击studentlogin按钮,即将跳转studentfunctions")
            strSN = self.lineEdit_studentNumber.text()
            strPW = self.lineEdit_password.text()
            cnxn = pyodbc.connect(
                'DRIVER={SQL Server};SERVER=localhost;DATABASE=register;UID=sa;PWD=gslsgsls')
            cursor = cnxn.cursor()
            sql = "select 姓名 from 学生 where 学号="+strSN+" and 密码="+strPW
            cursor.execute(sql)
            row = cursor.fetchone()[0]
            cnxn.close()
            if row:
                #获取学生姓名
                global STUDENTNAME
                STUDENTNAME=row
                # 获取学生学号
                global STUDENTNUMBER
                STUDENTNUMBER = self.lineEdit_studentNumber.text()
    
                #跳转页面
                print("点击studentLogin的按钮,即将跳转到studentFunctions")
                the_window = StudentFunctions()
                self.windowList.append(the_window)
                self.close()
                the_window.show()
    
            else:
                self.label_message.setText("登陆失败!")
    

    这个函数中就有一段设置全局变量并赋值的代码:

     #获取学生姓名
            global STUDENTNAME
            STUDENTNAME=row
            # 获取学生学号
            global STUDENTNUMBER
            STUDENTNUMBER=self.lineEdit_studentNumber.text()
    

    后一个页面StudentFunctions2.py中有一句代码用到了STUDENTNAME这个变量,这句代码可以让左上角的标签出现登陆者的名字:

    self.label_hello.setText(_translate("MainWindow", "你好,"+StudentLogin2.STUDENTNAME+"!"))
    

    现在我们来看一下效果吧!运行主程序文件:
    在这里插入图片描述
    输入学号密码
    在这里插入图片描述
    点击登录后,左上角确实出现了登陆者的名字,说明传递信息成功了。
    在这里插入图片描述
    但是这个页面拖开来又有三个
    在这里插入图片描述
    这次只有一个跳转,我在跳转处也加了一行print命令,最后的控制台结果是这样的:
    在这里插入图片描述
    另:我也尝试过把两个页面放在一个py文件中,结果仍然是一样的。

    总结

    如果在前一个页面写一段关于跳转页面的函数,可以实现两个页面间的跳转,但是如果想实现从第一个到第二个、在从第二个到第三个这样三个页面间的跳转,就会出现跳转到第三个页面很多次的问题。另外,如果想在页面间传递信息,那即使只是两个页面之间跳转也会出现跳转到后一个页面很多次的问题。

    展开全文
  • 现在的问题是第一次在主页点击login跳转到登录页面,然后在登录页面点击提交,反回到主页面,而现在第二次点击主页面上的login超链接的时候就了一/admin/路径 以致于跳转失败,请问要怎么解决. 配置什么的都没有...

     现在的问题是第一次在主页点击login跳转到登录页面,然后在登录页面点击提交,反回到主页面,而现在第二次点击主页面上的login超链接的时候就多了一个/admin/路径 以致于跳转失败,请问要怎么解决.
    配置什么的都没有问题的,现在主要就是路径怎么解决.

     

     

     

    失败的原因是你是相对路径,没有绝对路径跳转,建议在所有路径前面加上${pageContext.request.contextPath}/
    这样绝对不会出现问题。这样就是绝对路径了,你现在是相对路径,这个有时候会把自己陷进去

     

     

    楼主这是习惯不好所致,不用EL的话,也可以:
        <a href="admin/Login.jsp">login</a>
    改为:
        <a href="<%=request.getContextPath()%>/admin/Login.jsp">login</a>

     

     



    展开全文
  • [内容]真机调试打印日志:已存在待跳转页面/pages/goods/goods,请不要连续多次跳转...]app答同有这个问题这就这样吧,默认用户不会次去点击遇到了 快速点2次 会开两个页面你们说的跟帖子里面是个问题吗?帖子里...

    [内容]

    真机调试打印日志:

    已存在待跳转页面/pages/goods/goods,请不要连续多次跳转页面/pages/goods/goods

    [windows版本号]

    HBuilderX2.6.1、HBuilderX2.5.11

    [mac版本号]

    [运行端是h5或app或某个小程序?]

    app

    同有这个问题

    这就这样吧,默认用户不会多次去点击

    遇到了 快速点2次 会开两个页面

    你们说的跟帖子里面是一个问题吗?帖子里面是一句报错信息“已存在待跳转页面/pages/goods/goods,请不要连续多次跳转页面/pages/goods/goods”,不是说多次navigateTo会重复跳转,多次navigateTo会重复跳转的问题会在后面版本修复。

    发一下你的项目,我们排查一下

    必现吗?在我这无论是用你的项目运行还是用你编译出来的app-plus运行都没出现已存在待跳转页面/pages/goods/goods,请不要连续多次跳转页面/pages/goods/goods

    ios、小米,V3模式必现,不勾选就没事

    我也是遇到了这个问题,v3模式下必现 不勾选就没事 为了重现我新建了一个项目 就两个页面试了 v3必现

    我看你在另一个帖子下面回复云打包也有这个问题,可以把云打包之后的apk发来一份吗

    同遇到

    我的解决方法 是 按照这个 跳转链接 封装了跳转

    ios、小米,V3模式必现

    这个问题确实很严重,影响体验

    这个问题确实时不时的存在啊

    一样的毛病…按钮点击后到事件响应这中间的时间太长了,普通用户点一次觉得没反应,然后再点击一次甚至多次后,结果会多次进入页面或者多次弹框。点击后加loading或者设置个flag阻止都不行,因为本身loading生效也要事件响应成功才行….

    e670f9d85445af7ab10f29aac9b12dc9.png

    自定义基座 第一次进入APP 由其他页面跳转到tabbar页 必白屏 点击其他tabbar出现已存在待跳转页面,请不要连续多次跳转页面

    展开全文
  • 运用到框架(MVP)的话最好放在baseactivity...//防止该activity被上一个页面次点击进行多次跳转相同的页面 @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACT

    运用到框架(MVP)的话最好放在baseactivity里边 ,(MVVM)或者放在baseactivity和baseMVVMactivity里边
    需要重写事件拦截方法,如果时间戳不匹配就返回true进行拦截,不消费(不进行跳转),反之进行
    //防止该activity被上一个页面的多次点击进行多次跳转相同的页面
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
    if (ev.getAction() == MotionEvent.ACTION_DOWN) {
    if (isFastDoubleClick()) {
    return true;
    }
    }
    return super.dispatchTouchEvent(ev);
    }

    //开始点击的系统时间
    private long lastClickTime=System.currentTimeMillis();
    private  boolean isFastDoubleClick() {
        //第二次点击的系统时间
        long time = System.currentTimeMillis();
        //记录时间戳
        long timeD = time - lastClickTime;
        //两次点击时间间隔必须大于0毫秒和小于1000毫秒,可以根据业务需求
        if (timeD >= 0 && timeD <= 1000) {
            return true;
        } else {
            lastClickTime = time;
            return false;
        }
    }
    
    展开全文
  • 1、创建一个名称为Click的button分类 UIbutton+Click.h#import <UIKit/UIKit.h>@interface UIButton (WXD)/** * 为按钮添加点击间隔 eventTimeInterval秒 */ @property (nonatomic, assign) NSTimeInterval
  • 今天在写小程序的过程中遇到一很坑的一bug,首页跳转分类页面,因为有很分类 需要每次跳转更新but第一次跳转 数据是可以正常更新 第二次
  • app跳转多个页面,点击home后,回到桌面应用图标并点击app图标后准确显示被home之前页面在写该博客时啰嗦几句,本人第一次写博客,提起笔不知道语句组织,一时无法下手,作为一个理科生很直白的对白。后来想想写技术...
  • servlet如何从表单中获取,并连续多次跳转如何,再次获取表单参数  第种方法: (第一个Serverlet类 注意:本章未进行乱码处理,不能传汉字) public void doPost(HttpServletRequest request, ...
  • 一般写web自动化的时候都有点击导航到目标页面的过程,本tip展示了种简答有效率的办法。
  • 微信小程序页面多次跳转解决方法

    万次阅读 2018-05-28 10:41:19
    在使用小程序的时候会出现这样种情况:当网络条件差或卡顿的情况下,使用者会认为点击无效而进行次点击,最后出现多次跳转页面的情况,这问题可以通过JS中的函数节流和函数防抖找到解决方法。根据官方文档介绍...
  • 如果在create中进行数据获取,那么在次打开页面的时候,之后打开的页面数据都是和第一页相同的,这是因为data是在$vm实例创建之前就会进行赋值,而在第一次打开页面时,就已经创建了实例并对data进行赋值了,之后...
  • window.open方法一次打开多个页面

    千次阅读 2019-08-05 13:46:54
    window.open如果只是直接调用window.open('url'),如果使用多个页面,页面肯定只会显示个。 二 业务场景 说一下我的业务场景:我发送个文本给后台,后台返回三个URL给我,然后我要在页面打开三个窗口,然后数据...
  • 爬虫:获取多次跳转后的页面url

    千次阅读 2014-10-23 17:48:00
    案例:页面中的一个链接,审核元素得到的地址是“http://iphone.myzaker.com/l.php?l=54472e161bc8e0fd4a8b4573” ,点击之后页面自动跳转到另一个地址“ http://mp.weixin.qq.com/s?__biz=MjM5NjExNjI4MA==&...
  • 接触小程序之后的遇到的个问题当网络较慢时,用户连续点击多按钮跳转页面;会出现栈堆多个;在网上找到两个解决的方法,大家可以参考一下; 1.类似于开关思想(锁) flag默认为true 这个方法思路虽然是可以实现...
  • 当你快速连续点击多次的时候会跳转多页面,特别是网络卡或者手机卡顿的时候,非常影响用户使用体验。** wxml: 解决办法 函数节流(throttle):在一段时间内多次点击按钮只会执行第一次的函数。代码如下: 在/utils...
  • 所以在子页面直接修改上个页面的数据 let pages = getCurrentPages(); let prevPage = pages[pages.length - 2]; prevPage.setData({ catalogId: catalogId, catalogName: catalogName, }) wx.navigateBack({ delta:...
  • 项目中有两个页面,MainPage和TeamPage,默认首页是MainPage,点击MainPage中的文件夹条目会跳转到TeamPage,如果TeamPage有文件夹点击的话会再次调用TeamPage,可能的场景是这样:MainPage-->TeamPage(**A**)-->...
  • 出现这种情况后,会把同一个页面多次压入堆栈,当按返回键时,也同样需要按多次才能回退到上页面。 解决办法1:函数节流 解决办法2:对于按键事件,可以在按钮触发后增加设定disable属性,控制按钮不被响应 解决...
  • 关于VUE路由跳转携带多个参数二次跳转参数失效问题解决 问题: 当A路由点击按钮携带参数跳转到B路由时,第一次传过来的参数有效,但是第二次传过来的参数无效,实质上参数是已经传过来了,只是未被监听到 解决方案:...
  • android的webview点击个超链接,在shouldOverrideUrlLoading中拦截到多个url,但最后个url才是目标页面的正确网址,这是什么原因,怎么才能直接拿到这个url。测试的网页是百度网址导航,和hao123导航,及百度...
  • ios 卡顿,push多次一个页面

    千次阅读 2016-04-26 18:09:46
    场景:快速多次点击cell跳转到另一个页面,另一个页面被push多次。 原因:push后的页面有耗时操作或者刚好push到另一个页面时,另一个页面正好在reloadData卡住主线程。造成点击cell时卡住了。 解决方法: 重写...
  • 在微信小程序里,当我们在同一个页面里,多个按钮都设置了页面路由的跳转的时候,快速点击不同按钮发现会多次跳转页面.目前想到的解决方法是

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,441
精华内容 576
关键字:

一次跳转多个页面