精华内容
下载资源
问答
  • 如果是 Linux, 可以修改 kflash_gui.desktop 里面的路径, 然后管理员身份复制到/usr/share/application 目录, 然后就可以在系统菜单里面找到kflash_gui的图标了,点击即可打开 选择 bin 文件或者 kfpkg 文件...
  • PyQT实现窗口切换

    2020-12-23 18:14:14
    最近做软件,PyQT写的,在实现菜单栏点击弹出新窗口的时候严重被卡壳,发现WxPython的思想和方式来做完全无法实现。PyQT的中文资料实在是太少了。看了点英文资料和QT的资料,逆推PyQT的实现方法,总算搞定。...
  • MATLAB GUI界面

    2020-12-17 19:16:11
    为了节省空间,我想要在一坐标系中分别介绍不同类型的图片,并且可以自由切换,下面介绍弹出式菜单的使用方式总结 前言 由于研究生毕业前夕,需要进行系统检查,将自己的数据与仿真结果通过界面的形式表示出来,...
    
    
    


    前言

    由于研究生毕业前夕,需要进行系统检查,将自己的数据与仿真结果通过界面的形式表示出来,而且我之前用的仿真软件是MATLAB 2016b ,所以从昨天晚上我就开始查找用matlab实现GUI界面的相关资料,但是网上的一些博客和知乎描述的并不清晰,通过自己实践,整理相关知识如下,主要包括相关组件,以及数据,图片,视频导入的方式和相关代码。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、GUI界面搭建步骤

    1.打开matlab,新建空白脚本,并在命令行窗口输入guide

    代码如下(示例):

    >>guide
    

    在这里插入图片描述

    2.弹出窗口,如上图所示,选择默认选项,并修改图形路径,点击确定。

    在这里插入图片描述
    一个基本的界面就创建好了,这时文件夹中有两个文件,一个是.m的代码文件,一个是.fig的图像文件。

    3.熟悉基本控件,首先实现一个基本实例,导入一张图片

    1、将左侧控件中的面板拖到界面中;
    2、将左侧控件中的坐标轴拖到面板上,并调节大小;
    3、将左侧的按钮拖到面板上,最后应该表现为下图所示。

    在这里插入图片描述
    4、将想要显示的图片保存在同一文件夹中,并重命名为.bmp格式,比如数据集分布.bmp
    5、如果想通过点击按钮,在坐标axes1中出现一张图片, 则右键点击按钮——>查看回调——>callback,此时跳转到.m文件中对应的有关按钮的函数代码中,在该函数下添加代码如下:

    代码如下(示例):

    im = imread('数据集分布.bmp');
    axes(handles.axes1)
    imshow(im)
    
    

    其中,axes1表示显示图片的坐标轴的Tag值,界面中添加的每一个控件都有其独一无二的Tag值,可以通过双击该控件查看。
    6、运行.m文件,如下:

    在这里插入图片描述
    6、点击按钮,就可以在坐标轴的位置看到图片了。

    4.如果想在一个坐标轴输入多张图片怎么办呢?使用弹出式菜单。为了节省空间,我想要在一个坐标系中分别介绍不同类型的图片,并且可以自由切换,下面介绍弹出式菜单的使用方式

    1、在上述描述的基础上,将左侧控件中的弹出式菜单拖到面板中
    2、双击弹出式菜单,可以看到有关的一些参数,点击string,可以在里面加入多个需要看到的图片名字,并将所有图片保存到同一文件夹下,后缀名为.bmp
    在这里插入图片描述
    3、, 则右键点击弹出式菜单——>查看回调——>callback,此时跳转到.m文件中对应的有关弹出式菜单的函数代码中,在该函数下添加代码如下:

    var = get(handles.popupmenu2,'value');
    axes(handles.axes1)
    switch var
        case 1
           i1 = imread('公开烟雾数据集.bmp');
           imshow(i1)
        case 2
           i2 = imread('实际采集烟雾图像.bmp');
           imshow(i2)
        case 3
           i3 = imread('实际采集非烟雾图像.bmp');
           imshow(i3)
        case 4
           i4 = imread('处理后数据集.bmp');
           imshow(i4)  
    end
    
    

    4、运行.m文件,如下:
    在这里插入图片描述

    总结

    本博客主要介绍了如何在界面插图片的基本步骤,后续博客主要介绍如何在界面引入视频以及多个界面之间的交互。

    展开全文
  • PyQT之窗口切换

    万次阅读 多人点赞 2014-10-14 14:45:32
    最近做软件,PyQT写的,在实现菜单栏点击弹出新窗口的时候严重被卡壳,发现WxPython的思想和方式来做完全无法实现。PyQT的中文资料实在是太少了。看了点英文资料和QT的资料,逆推PyQT的实现方法,总算搞定。...

            最近做个软件,用PyQT写的,在实现菜单栏点击弹出新窗口的时候严重被卡壳,发现用WxPython的思想和方式来做完全无法实现。PyQT的中文资料实在是太少了。看了点英文资料和QT的资料,逆推PyQT的实现方法,总算搞定。下面是一个小demo。

    主界面的代码如下所示:

    # -*- coding: utf-8 -*-
    
    from PyQt4 import QtCore, QtGui
    from dialog1 import Dialog1
    from dialog2 import Dialog2
    import sys
    
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        def _fromUtf8(s):
            return s
    
    try:
        _encoding = QtGui.QApplication.UnicodeUTF8
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig, _encoding)
    except AttributeError:
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig)
        
    class MainWindow(QtGui.QWidget): 
        
        dialog1_signal = QtCore.pyqtSignal()          #定义一个无参数的信号,串口设定与子站初始化信号
        dialog2_signal = QtCore.pyqtSignal()          #定义一个无参数的信号,串口设定与子站初始化信号
        exit_signal = QtCore.pyqtSignal()          #定义一个无参数的信号,串口设定与子站初始化信号
        
        def __init__(self):
            super(MainWindow,self).__init__()
            
        def setupUi(self, Form):
            Form.setObjectName(_fromUtf8("Form"))
            Form.resize(400, 300)
            self.form = Form
            self.pushButton = QtGui.QPushButton(Form)
            self.pushButton.setGeometry(QtCore.QRect(70, 90, 75, 23))
            self.pushButton.setObjectName(_fromUtf8("pushButton"))
            self.pushButton_2 = QtGui.QPushButton(Form)
            self.pushButton_2.setGeometry(QtCore.QRect(240, 90, 75, 23))
            self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
            self.pushButton_3 = QtGui.QPushButton(Form)
            self.pushButton_3.setGeometry(QtCore.QRect(150, 160, 75, 23))
            self.pushButton_3.setObjectName(_fromUtf8("pushButton_3"))
            self.label = QtGui.QLabel(Form)
            self.label.setGeometry(QtCore.QRect(170, 40, 54, 16))
            self.label.setObjectName(_fromUtf8("label"))
    
            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)
    
            #信号连接到指定槽
            self.pushButton.clicked.connect(self.on_pushButton_clicked)
            self.pushButton_2.clicked.connect(self.on_pushButton_2_clicked)
            self.pushButton_3.clicked.connect(self.on_pushButton_3_clicked)
            
            
        def retranslateUi(self, Form):
            Form.setWindowTitle(_translate("Form", "Form", None))
            self.pushButton.setText(_translate("Form", "进入dialog1", None))
            self.pushButton_2.setText(_translate("Form", "进入dialog2", None))
            self.pushButton_3.setText(_translate("Form", "退出", None))
            self.label.setText(_translate("Form", "主窗体", None))
            
        def on_pushButton_clicked(self):
            self.form.hide()
            Form1 = QtGui.QDialog()
            ui = Dialog1()
            ui.setupUi(Form1)
            Form1.show()
            Form1.exec_()
            self.form.show()
    
        def on_pushButton_3_clicked(self, Form):
            #QtCore.QObject.connect( self.pushButton_3, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT(quit()))
            #也可以这样
            self.form.close()
            
        def on_pushButton_2_clicked(self):
            self.form.close()
            Form1 = QtGui.QDialog()
            ui = Dialog2()
            ui.setupUi(Form1)
            Form1.show()
            Form1.exec_()
            self.form.show()
    
    if __name__ == '__main__':
        app = QtGui.QApplication(sys.argv)
        Form = QtGui.QWidget()
        window = MainWindow()  
        window.setupUi(Form)
        Form.show()   
        sys.exit(app.exec_()) 
        
        pass


    Dialog1界面的代码如下:

    # -*- coding: utf-8 -*-
    
    from PyQt4 import QtCore, QtGui
    
    
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        def _fromUtf8(s):
            return s
    
    try:
        _encoding = QtGui.QApplication.UnicodeUTF8
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig, _encoding)
    except AttributeError:
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig)
     
    class Dialog1(QtGui.QWidget):
        def setupUi(self, Dialog):
            Dialog.setObjectName(_fromUtf8("Dialog"))
            Dialog.resize(400, 300)
            self.form = Dialog
            self.label = QtGui.QLabel(Dialog)
            self.label.setGeometry(QtCore.QRect(180, 50, 54, 12))
            self.label.setObjectName(_fromUtf8("label"))
            self.dialog1_pushButton = QtGui.QPushButton(Dialog)
            self.dialog1_pushButton.setGeometry(QtCore.QRect(160, 130, 75, 23))
            self.dialog1_pushButton.setObjectName(_fromUtf8("pushButton"))
    
            self.retranslateUi(Dialog)
            QtCore.QMetaObject.connectSlotsByName(Dialog)
    
            #信号连接到指定槽
            self.dialog1_pushButton.clicked.connect(self.on_dialog1_pushButton_clicked)
            
        def retranslateUi(self, Dialog):
            Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
            self.label.setText(_translate("Dialog", "dialog1", None))
            self.dialog1_pushButton.setText(_translate("Dialog", "返回主窗体", None))
    
        def on_dialog1_pushButton_clicked(self):
            self.form.close()
    
    if __name__ == "__main__":
        import sys
        app = QtGui.QApplication(sys.argv)
        Dialog = QtGui.QDialog()
        ui = Dialog1()
        ui.setupUi(Dialog)
        Dialog.show()
        sys.exit(app.exec_())
        
    

    Dialog2界面的代码如下:

    # -*- coding: utf-8 -*-
    
    from PyQt4 import QtCore, QtGui
    
    
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        def _fromUtf8(s):
            return s
    
    try:
        _encoding = QtGui.QApplication.UnicodeUTF8
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig, _encoding)
    except AttributeError:
        def _translate(context, text, disambig):
            return QtGui.QApplication.translate(context, text, disambig)
     
    class Dialog2(object):
        def setupUi(self, Dialog):
            Dialog.setObjectName(_fromUtf8("Dialog"))
            Dialog.resize(400, 300)
            self.form = Dialog
            self.label = QtGui.QLabel(Dialog)
            self.label.setGeometry(QtCore.QRect(180, 60, 54, 12))
            self.label.setObjectName(_fromUtf8("label"))
            self.pushButton = QtGui.QPushButton(Dialog)
            self.pushButton.setGeometry(QtCore.QRect(160, 140, 75, 23))
            self.pushButton.setObjectName(_fromUtf8("pushButton"))
    
            self.retranslateUi(Dialog)
            QtCore.QMetaObject.connectSlotsByName(Dialog)
            
            #信号连接到指定槽
            self.pushButton.clicked.connect(self.on_pushButton_clicked)
            
        def retranslateUi(self, Dialog):
            Dialog.setWindowTitle(_translate("Dialog", "Dialog", None))
            self.label.setText(_translate("Dialog", "dialog2", None))
            self.pushButton.setText(_translate("Dialog", "返回主窗体", None))
            
        def on_pushButton_clicked(self):
            self.form .close()
    
    if __name__ == "__main__":
        import sys
        app = QtGui.QApplication(sys.argv)
        Dialog = QtGui.QDialog()
        ui = Dialog2()
        ui.setupUi(Dialog)
        Dialog.show()
        sys.exit(app.exec_())


    按钮绑定到新弹出界面的处理函数,使用的槽连接方式为:

    self.pushButton.clicked.connect(self.on_pushButton_clicked)


    如果是Menu项绑定到新弹出界面的处理函数,则应使用的槽连接方式为:

    QtCore.QObject.connect(self.set_value_menu, QtCore.SIGNAL(_fromUtf8("triggered()")), self.open_set_value_form)

    二者使用的槽处理函数基本一致。

    若不显示原界面,只需将原界面hide()即可,如:

    self.form.hide()

    若需在弹出新窗口时同时原窗口保持可见,则不需这一步。且在这种情况下,若要原窗口可选为顶层窗体,则在显示新窗口时应使用show():

    Form1.show()

    若新窗口为固定的顶层窗体,原窗体被遮盖,则应使用exec_():

    Form1.exec_()



    展开全文
  • 如果是 Linux, 可以修改 kflash_gui.desktop 里面的路径, 然后管理员身份复制到/usr/share/application 目录, 然后就可以在系统菜单里面找到kflash_gui的图标了,点击即可打开 选择 bin 文件或者 kfpkg 文件,...
  • 本章首先介绍了GUI设计中串口的使用方法,然后以专题形式,详细讲解了串口在GUI设计中的应用,并给出了一串口通信助手的设计实例。 第10章:mcc编译。本章简要介绍了GUI编译为独立可执行文件的方法、mcc编译的局限...
  • x-scan v3.3 GUI

    2014-04-25 22:21:54
    /dat/language.ini -- 语言配置文件,可通过设置“LANGUAGE\SELECTED”项进行语言切换 /dat/language.* -- 语言数据文件 /dat/config.ini -- 当前配置文件,用于保存当前使用的所有设置 /dat/*.cfg -- 用户...
  • 然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在...
  • 然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在...
  •  此类扩展程序会在"网页"菜单和"工具"菜单旁添加一按钮;这样,无论您访问什么网页,都可以非常方便地执行任务(例如,访问网站或检查更新)。例如,您可以试试 Google Mail Checker(仅提供英文版)之类的扩展...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...
  • Android 上百实例源码分析以及开源分析 集合打包4

    千次下载 热门讨论 2012-07-10 21:54:03
    zirco是一Android的开源替代浏览器,功能很强大,除常见的功能外,还支持自定义搜索引擎、自定义usergent、支持导入火狐的书签、页面内查找、主页自定义、地址栏搜索、插件支持、无限制的选项卡浏览,左右循环滑动...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用...
  • 然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...
  • java源码包

    2015-12-01 16:29:37
    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...
  • 3.我们File->New 菜单来新建工程。 4.这里我们选择Qt4 Gui Application。 5.下面输入工程名和要保存到的文件夹路径。我们这里的工程名为helloworld。 6.这时软件自动添加基本的头文件,因为这程序我们不需要其他...
  • 软件界面设计工具_3款合集

    千次下载 热门讨论 2010-06-29 03:52:47
    预制了六十多个界面元素,从简单的输入框,下拉框,到经常得到的导航条,日历,表格,到复杂的Tag Cloud,Cover Flow, 地图,WYSWYG的格式工具栏等,有了这些不用从头画起,其实比白板都快; 界面元素的修改很...
  • 精通Qt4编程(第二版)源代码

    热门讨论 2014-01-19 13:07:18
    \ 第4章 程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和...
  • 精通qt4编程(源代码)

    热门讨论 2010-03-17 19:10:40
    \ 第4章 程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和...
  • 如果有引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。  diskpart [ /add |/delete] [device_...
  • windows 程序设计

    2011-07-24 21:16:30
    Windows/386(在Windows 2.0之后不久发行的)使用Intel 386微处理器的「虚拟8086」模式,实现将直接存取硬件的多个MS-DOS程序窗口化和多任务化。为了统一起见,Windows版本2.1被更名为Windows/286。 Windows 3.0是...
  • Visual C++ 2008入门经典--详细书签版

    热门讨论 2013-02-02 16:07:15
    4.1 处理多个相同类型的数据值 134 4.1.1 数组 135 4.1.2 声明数组 135 4.1.3 初始化数组 138 4.1.4 字符数组和字符串处理 139 4.1.5 多维数组 142 4.2 间接数据存取 145 4.2.1 指针的概念 145 4.2.2 声明...
  • bug report

    2020-12-02 02:24:18
    如果多个非修饰符的按钮,最后的那个按钮会起作用。 * 热键注册失败,一般是与系统中存在的冲突了,换一个再试 * 9. crontab语法,秒 分 时 日期 月份 星期,比常规crontab多了个...
  • 4.1 处理多个相同类型的数据值 134 4.1.1 数组 135 4.1.2 声明数组 135 4.1.3 初始化数组 138 4.1.4 字符数组和字符串处理 139 4.1.5 多维数组 142 4.2 间接数据存取 145 4.2.1 指针的概念 145 4.2.2 声明...
  • eclipse 开发c/c++

    2011-07-31 07:49:01
    通常情况下,象 ddd 和 xxgdb(请参阅 参考资料以获得链接)之类的第三方 GUI 调试器在实现调试功能时都依赖于 GDB 的命令行接口(Command Line Interface,CLI)。 遗憾的是,经过证实该接口非常不可靠。GDB/MI ...
  • 2、启动盘启动时,不是加载的功能越越好,功能越就意味着可用基本内存越少,产生一些问题的几率也越大,所以请根据自己的实际需要来选择对应的启动菜单。 3、本文各种DOS启动盘中存在的部分文件说明: IO....
  • ApkIDE——安卓反编译

    2014-10-19 10:52:47
    1、增加对apktool2.x版本的支持(目前apktool2.x仍然是测试版本,此版要求JDK1.7或以上),同时保留对1.5.2版的支持,二者可以一键切换菜单「工具」-「配置与选项」-「选项」-「ApkTool版本切换」)。 2、增加apk...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
热门标签
关键字:

多个gui用菜单切换