精华内容
下载资源
问答
  • gui界面设计实例100例
    千次阅读
    2022-01-05 14:56:59
    class myWindow(QMainWindow):  # 继承自QWidget
        def __init__(self):
            super().__init__()  # 调用父类的构造方法
            self.setWindowTitle("信用卡逾期数据分析")
            self.resize(700,600)
            self.line_edit=QLineEdit(self)
            self.input_line_edit=QLineEdit(self)
            self.tableWidget = QTableWidget(self)
            self.tableWidget1 = QTableWidget(self)
            self.analysis_data = analysis()
            self.my_painter = painter()
    
    
    
    
    
    
    
            self.setup_ui()  # 将后期更新的控件添加到控件组
    
        def setup_ui(self):
            '''
            用于后期更新控件
            :return:
            '''
    
    
    
    
    
    
            m_menuBar=QMenuBar(self)
            m_acttest1 =QAction("各年龄段债务情况(严重/不严重)",self)
            m_acttest2 = QAction("违约银行卡大致数目分析", self)
            m_acttest3 = QAction("年龄段逾期数据分析", self)
            m_acttest4 = QAction("逾期记录分析", self)
            m_acttest5 = QAction("房产抵押数据分析", self)
            m_acttest6 = QAction("家属数据分析", self)
            m_acttest7 = QAction("收入数据分析", self)
    
            m_acttest8=QAction("信用卡逾期预测", self)
            m_acttest9=QAction("开始", self)
    
            m_acttest10 = QAction("相关性分析", self)
            m_acttest11 = QAction("信誉评分(best)", self)
            m_acttest12 = QAction("信誉评分(worst)", self)
    
    
    
            m_menuBar=self.menuBar()
    
            workMenu1 =QMenu("数据可视化",self)
            workMenu1.addAction(m_acttest1)
            workMenu1.addAction(m_acttest2)
            workMenu1.addAction(m_acttest3)
            workMenu1.addAction(m_acttest4)
            workMenu1.addAction(m_acttest5)
            workMenu1.addAction(m_acttest6)
            workMenu1.addAction(m_acttest7)
            workMenu2 = QMenu("逾期预测", self)
            workMenu2.addAction(m_acttest8)
            workMenu2.addAction(m_acttest9)
            workMenu3=QMenu("信誉评分", self)
            workMenu3.addAction(m_acttest10)
            workMenu3.addAction(m_acttest11)
            workMenu3.addAction(m_acttest12)
    
            m_menuBar.addMenu(workMenu1)
            m_menuBar.addMenu(workMenu2)
            m_menuBar.addMenu(workMenu3)
    
    
    
    
            # self.line_edit.setGeometry(QRect(400, 110, 200, 50))
            # self.output_text_edit.setGeometry(QRect(130, 270, 410, 190))
    
            #按钮点击事件与槽函数连接
            #button1.clicked.connect(lambda:self.get_stu_number())
            m_acttest1.triggered.connect(self.act1)
            m_acttest2.triggered.connect(self.act2)
            m_acttest3.triggered.connect(self.act3)
            m_acttest4.triggered.connect(self.act4)
            m_acttest5.triggered.connect(self.act5)
            m_acttest6.triggered.connect(self.act6)
            m_acttest7.triggered.connect(self.act7)
            m_acttest8.triggered.connect(self.act8)
            m_acttest9.triggered.connect(self.act9)
            m_acttest10.triggered.connect(self.act10)
            m_acttest11.triggered.connect(self.act11)
            m_acttest12.triggered.connect(self.act12)
    
    
    
    
    
    
    
        #槽函数
        def act1(self):
            # 统计各年龄段债务情况(严重/不严重)
            debt_rank_arr = self.analysis_data.get_debt_rank()
            self.my_painter.draw_age_debt(debt_rank_arr[0])
            self.my_painter.show_html('age_rank.html')
        def act2(self):
            care_late_arr = self.analysis_data.get_card_late_num()
            self.my_painter.draw_card_late_num(care_late_arr)
            self.my_painter.show_html('card_late_num.html')
        def act3(self):
            age_late_arr = self.analysis_data.get_age_late()
            self.my_painter.draw_age(age_late_arr[0], age_late_arr[1])
            self.my_painter.show_html('age_late.html')
        def act4(self):
            late_period_arr = self.analysis_data.get_late_age_times()
            self.my_painter.draw_pastdue(late_period_arr[0], late_period_arr[1], late_period_arr[2], late_period_arr[3])
            self.my_painter.show_html('pastLate_nowLate.html')
        def act5(self):
            huose_diya_arr = self.analysis_data.get_house_diya_num()
            self.my_painter.draw_realestateLoans(huose_diya_arr[0], huose_diya_arr[1], huose_diya_arr[2])
            self.my_painter.show_html('house_late.html')
        def act6(self):
            family_late_arr = self.analysis_data.get_family_late_num()
            self.my_painter.draw_families(family_late_arr[0], family_late_arr[1], family_late_arr[2])
            self.my_painter.show_html('family_late.html')
        def act7(self):
            incomes_late_arr = self.analysis_data.get_incomes_late_num()
            self.my_painter.draw_income(incomes_late_arr[0], incomes_late_arr[1], incomes_late_arr[2])
            self.my_painter.show_html('income_late.html')
    
        def act8(self):
            self.tableWidget1.hide()
            self.tableWidget.hide()
            self.line_edit.setGeometry(QRect(60, 50, 450, 20))
            self.input_line_edit.setGeometry(QRect(60, 110, 200, 50))
            self.line_edit.setText("要预测的数据[负债比率,月收入,未偿还贷款数,家庭人数]")
            self.input_line_edit.show()
            self.line_edit.show()
    
        def act9(self):
            char_arr=self.input_line_edit.text()
            yangben_arr=char_arr.split(',')
            yangben_data=[]
            for temp in yangben_arr:
                yangben_data.append(float(temp))
            result=self.analysis_data.AODE_predict(yangben_data)
            QMessageBox.information(self,"预测结果",result)
    
        def act10(self):
            arr = self.analysis_data.XiangGuanXing()
            self.my_painter.deaw_heat_map(arr)
            self.my_painter.show_html("heat_map.html")
    
        def act11(self):
            self.input_line_edit.hide()
            self.line_edit.hide()
            self.tableWidget1.hide()
            self.tableWidget.setRowCount(10)
            self.tableWidget.setColumnCount(2)
            self.tableWidget.setHorizontalHeaderLabels(['ID', '分数'])
    
    
            best_customer,_=self.analysis_data.get_score()
            # 位置为第i行,第0列,后面为QTableWidgetItem对象,可以为str类型,int类型
            for i in range(len(best_customer)):
                # 位置为第i行,第0列,后面为QTableWidgetItem对象,可以为str类型,int类型
                self.tableWidget.setItem(i, 0, QTableWidgetItem(str(best_customer[i][0])))
                self.tableWidget.setItem(i, 1, QTableWidgetItem(str(best_customer[i][1])))
            self.tableWidget.setGeometry(QRect(60, 50, 300, 400))
            self.tableWidget.show()
    
    
    
    
        def act12(self):
            self.input_line_edit.hide()
            self.line_edit.hide()
            self.tableWidget.hide()
            self.tableWidget1.setRowCount(10)
            self.tableWidget1.setColumnCount(2)
            self.tableWidget1.setHorizontalHeaderLabels(['ID', '分数'])
            _,worst_customer= self.analysis_data.get_score()
            for i in range(len(worst_customer)):
                # 位置为第i行,第0列,后面为QTableWidgetItem对象,可以为str类型,int类型
                self.tableWidget1.setItem(i, 0, QTableWidgetItem(str(worst_customer[i][0])))
                self.tableWidget1.setItem(i, 1, QTableWidgetItem(str(worst_customer[i][1])))
            self.tableWidget1.setGeometry(QRect(60, 50, 300, 400))
            self.tableWidget1.show()
    
    
    
    
    
    
    
    
    
    
    

    更多相关内容
  • GUI界面设计范例

    2019-03-18 17:18:45
    GUI界面设计范例,电信课程设计,有源代码,有PPT讲解
  • 界面编程入门;1. 创建主窗口;第一个Tkinter程序;第一个Tkinter程序;界面的事件响应;窗体基本控件;Tkinter控件概述;Tkinter控件概述;...1. 界面设计;1. 界面设计;2. 程序实现;1. 录入人员信息;2. 查询人员信息;3.
  • Python-GUI界面设计(tkinter)

    万次阅读 多人点赞 2021-01-17 15:41:28
    GUI界面设计(tkinter)

    前言

    此篇文章介绍的是有关GUI(Graphical User Interface)图形用户界面的设计。
    使用到的库是tkintertkinter库在python3版本开始就是自带的库,IDLE就是通过这个库设计的。
    文章的内容是经过自己网上整理总结得到的,并非照搬照套,主要介绍自己清楚的内容。
    有的参数不是必须的,文章中介绍的只是部分的参数。

    相关介绍

    Python GUI编程(Tkinter)-菜鸟教程

    Python Tkinter Wiki

    Tk图形用户界面(GUI)

    一、函数方法

    • 下面的函数方法是基于import tkinterfrom tkinter import ttk的导入来的。
      如果你是使用的是imort tkinter as tk这种的,将下面的tkinter替换成你所定义的别名就行。
    • 函数方法中有些方法只是简单介绍,详细的内容会在之后的步骤提及
    • 对于一个组件来说,如果你的组件创建时是在window窗口创建的,
      之后的place方法就会在对应窗口中进行放置;
      如果是在frame框架中创建,则是在frame框架中进行放置。
    • 组件的放置和删除方法是通用的。
    函数方法介绍
    window = tkinter.Tk()创建一个窗口
    window.title("标题")为设置窗口标题
    window.geometry("宽度x高度")设置窗口宽和高
    window.destroy()删除窗口
    window.mainloop()消息循环
    window.withdraw()隐藏窗口
    window.configure(background='Blue')设置窗口的背景色
    button = tkinter.Button(window,text='退出',command=lambda:out(window),width=2,height=5)创建按钮
    button.place(x=0,y=70,anchor='center')绝对位置放置按钮
    button.place(relx=0.5,rely=0.5,anchor='center')相对位置放置按钮
    text = tkinter.Label(window,bd=4,fg='red',bg='white',text='内容111111111111111')创建单行文本
    var = tkinter.StringVar()创建一个StringVar类型的变量var
    var.set("内容")设置var变量的内容
    var.get()获取var变量的内容
    message = tkinter.Message(window,width=20,textvariable=var)创建多行文本
    entry = tkinter.Entry(window,width=20,show='*')创建单行输入框
    entry.get()获取单行输入框的内容
    text_input = tkinter.Text(window,width=20,height=10)创建多行输入框
    text_input.insert('insert','内容')向多行输入框插入数据
    text_input.get("行数-1.列数-1","行数-1.列数-1")获取多行输入框的输入值
    select = ttk.Combobox(window,width=12,textvariable=tkinter.StringVar(),state="readonly")创建下拉框
    select[values'] = lis设置下拉框中的值
    roll = tkinter.Scrollbar(window)创建滚动条
    roll.pack(side = tkinter.LEFT,fill = tkinter.Y)设置滚动条的位置
    text_input.config(yscrollcommand=roll.set)文本绑定垂直滚动条
    roll.config(command=text_input.yview) 垂直滚动条绑定文本
    frame = tkinter.Frame(width=100,height=100,bg='white')创建一个frame框架
    button = tkinter.Button(frame,text='按钮',width=5,height=2)创建一个在frame框架中的按钮
    note = ttk.Notebook()创建一个Notebook分页栏(实在想不到什么好的名词来描述了)
    note.place(relx=0.02,rely=0.02,relwidth=0.8,relheight=0.8)放置分页栏
    note.add(frame,text='第一页')将框架添加至分页栏

    二、导入

    • 通常导入的话使用下面第一行代码进行导入就行
    import tkinter
    
    • 但对于某些功能时,需要导入一个ttk模块
    • 如果你使用的是from tkinter import *,那么之后的涉及到的类似tkinter.Tk()代码,可以对tkinter进行省略,直接使用Tk()函数来进行创建即可。
    import tkinter
    from tkinter import ttk
    

    三、窗口

    • 步骤[5]的删除窗口对其他的组件是通用的,之后不再赘述

    [1]. 创建

    • 创建窗口的方法比较简单,执行tkinter.Tk()即可。
    • 因为我们需要对这个窗口进行操作,所以得用一个实例对象来保存这个窗口。

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    

    [2]. 标题

    • 上一个步骤执行完毕后,默认会给窗口设置一个名为tk的标题。
      如果我们需要设置自定义的标题时,就得用到title方法。

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    

    [3]. 大小

    • 在设置大小时,使用geometry方法,参数里的x是英文字母,大小写不会有影响。
    • 对于200x300的大小,第一个参数200是宽度,第二个参数300是高度。
      如果没有设置窗口大小时,默认大小为200x200

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('200x300')
    

    [4]. 背景

    • 使用configure方法设置background参数的值,来改变背景色。
    • 改变背景色时传入的参数大小写皆可
    • 对于其他组件如文本、按钮等,同样能对组件进行设置背景色。
      只需要将实例对象名window变更成组件的实例对象名即可。

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('200x300')
    window.configure(background='BlUe')
    

    [5]. 删除

    使用window.destry()就可以对窗口进行删除了

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('200x300')
    window.configure(background='BlUe')
    window.destroy()
    

    四、按钮

    • 步骤[2]和步骤[3]放置按钮的方法对其他组件是通用的

    [1]. 创建

    • 和窗口不同,其他组件创建时不会直接将组件放置到窗口中。
    参数介绍
    window窗口的实例对象
    text按钮的文本内容
    command点击按钮后执行的函数命令
    width按钮宽度,单位为像素
    height按钮高度,单位为像素
    button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=3,height=2)
    

    [2]. 放置(绝对位置)

    参数介绍
    x横轴坐标,x=0时将会把按钮放置在窗口最左侧
    y纵轴坐标,y=0时将会把按钮放置在窗口最上方
    anchor锚点,锚点有四种类型(nw,ne,sw,se),不填此参数时锚点默认为nw。nw为按钮框的左上角;ne为按钮框的右上角;sw为按钮框的左下角;se为按钮框的右下角。前两个参数设置的坐标就是锚点的坐标。
    button.place(x=40,y=90,anchor='nw')
    

    [3]. 放置(相对位置)

    参数介绍
    relx横轴坐标,relx=0时将会把按钮放置在窗口最左侧,relx=1时将会把按钮放置在窗口最右侧
    rely纵轴坐标,rely=0时将会把按钮放置在窗口最上方,rely=1时将会把按钮放置在窗口最下方
    anchor锚点,锚点有四种类型(nw,ne,sw,se),不填此参数时锚点默认为nw。nw为按钮框的左上角;ne为按钮框的右上角;sw为按钮框的左下角;se为按钮框的右下角。前两个参数设置的坐标就是锚点的坐标。
    button.place(relx=1,rely=1,anchor='se')#相对位置,放置按钮
    

    [4]. 代码

    • 如果要将按钮放置在窗口的右下角,锚点可以设置为se,然后再将这个锚点的坐标设置成窗口的右下角即可。
    • 横轴和纵轴坐标是必须给定的,而锚点参数anchor可以省略不填,但对于特殊的应用场景就得使用到anchor参数来设置锚点了。

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('200x300')
    button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=5,height=2)
    ##button.place(x=40,y=90,anchor='nw') #绝对位置,放置按钮
    button.place(relx=1,rely=1,anchor='se')#相对位置,放置按钮
    

    五、单行文本

    [1]. 创建

    • 如果传入的颜色或者是文本内容是需要输入获取时,可以将等号后面的内容替换成对应的字符串变量
    • 步骤六将会介绍有关文本内容的获取方法,如果你想要获取文本的内容时,也可以提前定义好一个变量,然后把这个变量的值赋给text参数,同样能够对文本的内容进行获取。
    参数介绍
    window窗口实例对象
    bd文本框的大小(并非文字的大小)
    fg字体颜色
    bg背景色,传入的参数为颜色的英文单词
    text显示的内容信息
    text = tkinter.Label(window,bd=4,fg='red',bg='white',text='内容111111111111111')
    

    [2]. 代码

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('200x200')
    text = tkinter.Label(window,bd=4,fg='red',bg='white',text='内容111111111111111')
    ##text.place(x=20,y=50) #绝对位置,放置文本
    text.place(relx=0.2,rely=0.2) #相对位置,放置文本
    
    

    六、多行文本

    • 获取多行文本内容的方式比较不同,请注意区别。

    [1]. 创建

    • Stringvar是一种类型,你可以参考一下大佬的博客python基础知识-GUI编程-TK-StringVar进行理解。
    • 多行文本的内容虽然可以通过text参数来进行设置,但是要获取对应文本的内容时还需要另一个Stringvar的变量,所以可以通过设置这个变量的值以达到text参数的效果。
    • 在多行文本当中,只能够设置对应的宽度,以\n作为换行的标志。如果某行文本的宽度大于限制的宽度时,多余的部分将会移动到下一行(包括文本末尾的换行符)
    函数方法介绍
    var = tkinter.StringVar()设置一个StringVar类型的变量var
    var.set(内容)设置变量var的值
    参数介绍
    varStringVar类型的变量
    window窗口实例对象
    width宽度
    textvariable绑定的文本变量
    var = tkinter.StringVar()
    var.set("第一行\n第二行\n第三行")
    message = tkinter.Message(window,width=200,textvariable=var)
    

    [2]. 获取

    • 由于多行文本的内容是通过StringVar类型的变量var设置得到的,所以你可以通过获取变量var的值来得到多行文本的内容。
    • 经过测试,无法直接通过get()方法或.get('行.列','end')的方法获取message对象的内容。(后面将会介绍.get('行.列','end')方法的使用,目前可以先忽略)
    函数方法介绍
    var.get()获取变量var的值
    var.get()
    

    [3]. 代码

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('300x300')
    #自定义函数
    def show(self):
        print(self.get())
    #多行文本
    var = tkinter.StringVar()
    var.set("第一行\n第二行\n第三行")
    message = tkinter.Message(window,width=200,textvariable=var)
    message.place(x=20,y=50)
    #按钮
    button = tkinter.Button(window,width=8,height=1,command=lambda:show(var),text='获取输入值')
    button.place(x=30,y=200)
    
    

    七、输入框

    • 步骤[2]对于其他组件如文本等也适用

    [1]. 创建

    • 创建时仅能设置输入框的宽度,而不能设置高度。
    参数介绍
    window窗口实例对象
    width输入框宽度,单位为像素
    show当用户输入时显示的内容,通常是在输入密码时使用
    entry = tkinter.Entry(window,width=20,show='*')
    

    [2]. 获取

    • 在获取输入框的时候,大部分情况得和按钮、自定义函数结合使用。通过.get()的方法将输入框的值获取,并作为形参传入自定义函数中。
    • 需要注意的是,直接在代码中使用.get()方法时不会显示内容,因为entry.get()只会执行一次,而开始阶段输入框是没有内容的,所以entry.get()执行一次之后就失效了,具体效果请看步骤[3]
    entry.get()
    

    [3]. 代码

    • 代码中使用了一个自定义函数getget函数的参数self就相当于主函数中的entry

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('200x200')
    #自定义函数
    def show(self):
        print("通过按钮获取的输入框值为:",self.get())
    #输入框
    entry = tkinter.Entry(window,width=20,show='*')
    entry.place(x=30,y=30)
    #按钮
    button = tkinter.Button(window,width=8,height=1,command=lambda:show(entry),text='获取输入值')
    button.place(x=60,y=100)
    
    print("不通过按钮获取的输入框值为:",entry.get())
    window.mainloop() #使窗口等待
    

    八、多行输入框

    • 多行输入框类似网页的留言输入区,在需要输入大量文字时可用
    • 此处介绍的多行输入框,同样具有显示多行文本的作用。

    [1]. 创建

    • 多行输入框和单行输入框不同,不能使用到show参数,但是可以设置对应的宽度和高度。
    参数介绍
    window窗口的实例对象
    width输入框的宽度
    height输入框的高度
    text_input = tkinter.Text(window,width=20,height=10)
    

    [2]. 插入

    函数方法介绍
    text_input.insert('insert','内容')第一个参数insert表示的是操作的方式为插入到多行输入框(多行文本框)的末尾,第二个参数为插入的数据。
    参数介绍
    text_input多行输入框的实例对象
    text_input.insert('insert','内容')
    

    [3]. 获取

    • 获取多行输入框的值需要传入两个参数,第一个参数由行列和中间的小数点组成表示读取的起止位置,第二个字符串参数2.2表示读取的截止位置。
    • 第二个参数设置成end时,就是截止到用户输入的最后一个字符位置。
    • 读取数值是逐行读取,从左向右读取。
    参数介绍
    text_input多行输入框的实例对象
    0.0获取文本的起止位置,表示第1行第1列。
    2.2获取文本的结束位置,表示第3行第3列,设置为end时表示用户输入的最后一个字符
    text_input.get("0.0","2.2")
    

    [3]. 代码

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('300x300')
    #自定义函数
    def show(self):
        print(self.get('0.0',"end"))
    #多行文本
    text_input = tkinter.Text(window,width=20,height=10)
    text_input.place(x=30,y=30)
    #插入数据
    text_input.insert('insert','第一行\n')
    text_input.insert('insert','第二行\n')
    text_input.insert('insert','第三行\n')
    #按钮
    button = tkinter.Button(window,width=8,height=1,command=lambda:show(text_input),text='获取输入值')
    button.place(x=30,y=200)
    
    
    
    
    
    
    

    九、下拉框

    • 下拉框需要使用from tkinter import ttkttk模块进行使用

    [1]. 创建

    • Stringvar是一种类型,你可以参考一下大佬的博客python基础知识-GUI编程-TK-StringVar进行理解。
    • 测试了一下height参数,虽然可以进行设置不报错,但好像没有效果。
    参数介绍
    window窗口的实例对象
    width宽度
    textvariable文本的类型,设置成tkinter.StringVar()即可。
    state下拉框的状态,设置成readonly为只读模式,不填state参数时为可读可写模式。通常下拉框是为了显示或者是让用户进行选择的,所以大多情况都是设置成readonly
    select = ttk.Combobox(window,width=12,textvariable=tkinter.StringVar(),state="readonly")
    

    [2]. 添加

    • 创建好下拉框后,就需要对其中的值进行添加,可将一个列表的值传入下拉框
    • 对列表中的元素类型没有较大限制,可字符串也可数字。
    参数介绍
    select下拉框的实例对象
    lis列表
    lis = [1,2,'fox']
    select['values'] = lis
    

    [3]. 代码

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    from tkinter import ttk
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('300x300')
    #自定义函数
    def show(self):
        print(self.get())
    #下拉框
    select = ttk.Combobox(window,width=12,textvariable=tkinter.StringVar(),state="readonly")
    lis = [1,2,'fox']
    select['values'] = lis
    select.place(x=30,y=100)
    #按钮
    button = tkinter.Button(window,width=8,height=1,command=lambda:show(select),text='获取输入值')
    button.place(x=30,y=200)
    
    

    十、滚动条

    • 文章仅介绍垂直滚动条的代码,水平滚动条的创建方法类似。
    • 下面介绍的是Text组件的绑定方法,Listbox组件、Entry组件绑定的方法相同。

    [1]. 创建

    • 滚动条单独存在时,没有实际的作用所以通常会与其他组件绑定使用。
    • 垂直滚动条常与Text、Canvas和Listbox组件绑定。
    • 水平滚动条常与Entry组件绑定。
    函数方法介绍
    roll = tkinter.Scrollbar(window)创建滚动条
    roll.pack(side = tkinter.LEFT,fill = tkinter.Y)设置滚动条的位置
    参数介绍
    window窗口实例对象
    side滚动条的位置,tkinter.LEFT表示将滚动条放置在窗口左侧,tkinter.RIGHT表示将滚动条放置在窗口右侧,tkinter.BOTTOM表示将滚动条放置在窗口下方,tkinter.TOP表示将滚动条放置在窗口上方。
    fill滚动条的移动方向,垂直滚动条用tkinter.Y,水平滚动条用tkinter.X
    #垂直滚动条
    roll = tkinter.Scrollbar(window)
    roll.pack(side = tkinter.LEFT,fill = tkinter.Y)
    #文本
    text_input = tkinter.Text(window,width=100,height=20)
    for i in range(100): #在文本中插入数据
        text_input.insert('insert',f'第{i+1}行\n')
    text_input.pack(expand=tkinter.YES,fill=tkinter.BOTH)
    

    [2]. 绑定

    • 如果你在创建滚动条时是垂直滚动条,却使用了xview的方法绑定,此时滚动条将会失效。
    • 垂直滚动条使用yview方法和yscrollcommand参数,水平滚动条使用xview方法xscrollcommand参数。
    函数方法介绍
    text_input.config(yscrollcommand=roll.set)文本text_input绑定垂直滚动条roll
    roll.config(command=text_input.yview)垂直滚动条roll绑定文本text_input
    参数介绍
    yscrollcommand用于设置需要绑定的垂直滚动条信息,设置时需要使用到set方法
    xscrollcommand用于设置需要绑定的水平滚动条信息,设置时需要使用到set方法
    command用于设置需要绑定的组件信息,使用组件的yview方法设置垂直滚动条,使用组件的xview方法设置垂直滚动条。
    text_input.config(yscrollcommand=roll.set) 
    roll.config(command=text_input.yview) 
    

    [3]. 代码

    在这里插入图片描述

    # 作者:小狐狸FM
    import tkinter
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('300x300')
    #滚动条
    roll = tkinter.Scrollbar(window) #创建滚动条
    roll.pack(side = tkinter.LEFT,fill = tkinter.Y)
    #文本
    text_input = tkinter.Text(window,width=100,height=20)
    for i in range(100): #在文本中插入数据
        text_input.insert('insert',f'第{i+1}行\n')
    text_input.pack(expand=tkinter.YES,fill=tkinter.BOTH)
    #绑定
    text_input.config(yscrollcommand=roll.set) # text绑定垂直滚动条
    roll.config(command=text_input.yview)
    
    

    十一、框架控件

    • 先介绍一下Frame的使用方法,框架控件主要的用处是用来放置你所需要的组件,类似于一个内置的窗口。Frame可用于分页的功能。
    • 放置Frame的时,可使用通用的方法place进行放置

    [1]. 创建

    函数方法介绍
    frame = tkinter.Frame(width=100,height=100,bg='white')创建一个frame框架
    参数介绍
    width宽度
    height高度
    bg背景色
    frame = tkinter.Frame(width=100,height=100,bg='white')
    

    [2]. 添加

    • 此步骤的添加,是给框架添加组件,使用的例子是按钮,将之前的窗口对象window替换为框架对象frame即可。同样的按钮创建完毕后,还需要使用place方法将按钮进行放置,此时放置的范围就只能是框架的范围了。
    函数方法介绍
    button = tkinter.Button(frame,text='按钮',width=5,height=2)创建一个在frame框架中的按钮
    参数介绍
    frameFrame框架的对象
    text按钮名称
    width按钮宽度
    height按钮高度
    button = tkinter.Button(frame,text='按钮',width=5,height=2)
    

    [3]. 代码

    • 为了更好地区别,窗口的背景色设置成了黑色,而框架的范围内为白色

    在这里插入图片描述

    # 小狐狸FM
    import tkinter
    from tkinter import ttk
    #窗口
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('300x300')
    window.configure(background='black')
    #框架控件
    frame = tkinter.Frame(width=100,height=100,bg='white')
    frame.place(x=50,y=50)
    #按钮
    button = tkinter.Button(frame,text='按钮',width=5,height=2)
    button.place(x=10,y=10)
    

    十二、分页

    • 在实现分页功能前,你可以先去看看步骤十一了解一下框架的使用方法。
    • 分页的功能是通过Frame框架和Notebook组件结合实现。

    [1]. 创建

    • 分页的参数有挺多的,你可以自行搜索
    • 因为直接设置参数height和width时,高度和宽度是定死的,所以要实现框架随着界面的变化而变化时就得使用到步骤[2]的放置方法。
    函数方法介绍
    note = ttk.Notebook()创建一个Notebook分页栏(实在想不到什么好的名词来描述了)
    note = ttk.Notebook()
    

    [2]. 放置

    函数方法介绍
    note.place(relx=0.02,rely=0.02,relwidth=0.8,relheight=0.8)放置分页栏
    参数介绍
    relx横轴坐标(相对位置)
    rely纵轴坐标(相对位置)
    relwidth宽度(相对于窗口),范围为[0,1]
    relheight高度(相对于窗口),范围为[0,1]
    note.place(relx=0.02,rely=0.02,relwidth=0.8,relheight=0.8)
    

    [3]. 框架

    • 一个框架就相当于一页,如果你需要多页,就创建多个frame框架与分页栏进行绑定就行。
    • 在分页中不是使用place方法将Frame框架进行放置,直接使用place方法会将frame直接放置到window窗口而不是分页栏notebook
    函数方法介绍
    frame = tkinter.Frame()创建Frame框架
    note.add(frame,text='第一页')将框架添加至分页栏
    button = tkinter.Button(frame,text='按钮',width=5,height=2)在已有框架中创建按钮
    button.place(x=0,y=0)设置按钮位于框架的位置
    参数介绍
    frameFrame框架的实例对象
    text文本内容
    width宽度
    height高度
    x横轴坐标
    y纵轴坐标
    frame = tkinter.Frame()
    note.add(frame,text='第一页')
    button = tkinter.Button(frame,text='按钮',width=5,height=2)
    button.place(x=0,y=0)
    

    [4]. 代码

    • 为了体现分页的效果,我创建了两个框架来表示两页
    • 点击上方的第一页第二页就能显示出不同的Frame框架内容

    在这里插入图片描述

    # 小狐狸FM
    import tkinter
    from tkinter import ttk
    #窗口
    window = tkinter.Tk()
    window.title('标题')
    window.geometry('300x300')
    window.configure(bg='black')
    #分页
    note = ttk.Notebook() 
    note.place(relx=0.02,rely=0.02,relwidth=0.8,relheight=0.8)
    #第一页
    frame1 = tkinter.Frame() 
    note.add(frame1,text='第一页') 
    button1 = tkinter.Button(frame1,text='按钮1',width=5) 
    button1.place(relx=0.5,rely=0.5)
    #第二页
    frame2 = tkinter.Frame() 
    note.add(frame2,text='第二页') 
    button2 = tkinter.Button(frame2,text='按钮2',width=5) #将按钮存入框架2
    button2.place(relx=0.5,rely=0.5)
    
    
    展开全文
  • 一个简单设计过程-图形用户界面GUI设计举例.doc 适用于GUI设计的初学者 部分内容: Figure40.jpg Figure41.jpg
  • 简介作为 Python 开发者,图形用户界面GUI)开发是必备技能之一。目前,市面上支持Python 的“GUI 工具包”很多,各有特点,虽然大多数工具包的基础类似,但要学习一个新包并掌握其细节还是非常耗时的,因此,在...

    简介

    作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一。目前,市面上支持

    Python 的“GUI 工具包”很多,各有特点,虽然大多数工具包的基础类似,但要学习一个

    新包并掌握其细节还是非常耗时的,因此,在选用工具包时应仔细权衡。本文将介绍

    Python 自带的 GUI 工具包 TKinter。

    TKinter

    Python 的 GUI 库非常多,之所以选择 Tkinter,一是最为简单,二是自带库,不需下载

    安装,随时使用,跨平台兼容性非常好,三则是从需求出发的,Python 在实际应用中极

    少用于开发复杂的桌面应用,毕竟,Python 的各种 GUI 工具包都“一般得很”,不具备优

    势。

    关于 GUI,泛泛而谈难免枯燥,鉴于此,本文将基于一系列实例来介绍 Tkinter 控件。

    窗口创建与布局

    做界面,首先需要创建一个窗口,Python Tkinter 创建窗口很简单,代码如下:

    from tkinter import *

    #初始化Tk()

    myWindow = Tk()

    #进入消息循环

    myWindow.mainloop()

    上述程序创建的窗口是非常简陋的,有待进一步美化,设置标题、窗口大小、窗口是否

    可变等,涉及属性有:title(设置窗口标题)、 geometry(设置窗口大小)、

    resizable(设置窗口是否可以变化长 宽)。请看如下实例:

    copycode.gif

    from tkinter import Tk

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #设置窗口大小

    myWindow.geometry('380x300')

    #设置窗口是否可变长、宽,True:可变,False:不可变

    myWindow.resizable(width=False, height=True)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    进一步,将窗口放置于屏幕中央,如下实例:

    copycode.gif

    from tkinter import Tk

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #设置窗口大小

    width = 380

    height = 300

    #获取屏幕尺寸以计算布局参数,使窗口居屏幕中央

    screenwidth = myWindow.winfo_screenwidth()

    screenheight = myWindow.winfo_screenheight()

    alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)

    myWindow.geometry(alignstr)

    #设置窗口是否可变长、宽,True:可变,False:不可变

    myWindow.resizable(width=False, height=True)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    常用控件

    仅有窗口并不能实现交互,还需要控件,Tkinter 提供了各种控件,如按钮、标签和文本

    框。在一个 GUI 应用程序中使用,这些控件通常被称为控件或者部件,目前有15种

    Tkinter 部件,如下列表:

    1421031-20181015163828976-1464354755.png

    几何管理

    Tkinter 控件有特定的几何状态管理方法,管理整个控件区域组织,以下是 Tkinter 公开

    的几何管理类:包、网格、位置。

    1421031-20181015163918318-1851152297.png

    Lable控件标签控件,基本用法为: Lable(root, option...) ,即:Label(根对象, [属性列表]),

    其中属性列表如下:

    1421031-20181015163950603-1557363500.png

    Lable 控件实例

    实例1:标签展示文本,代码如下:

    copycode.gif

    from tkinter import*

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #创建一个标签,显示文本

    Label(myWindow, text="user-name",bg='red',font=('Arial 12 bold'),width=20,height=5).pack()

    Label(myWindow, text="password",bg='green',width=20,height=5).pack()

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    执行结果:

    1421031-20181015164039950-2048398092.png

    实例2:标签展示图标,代码如下:

    copycode.gif

    from tkinter import*

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #创建一个标签,显示图标

    logo = PhotoImage(file="/Users/guojin/book/temp.gif")

    Label(myWindow, image=logo).pack(side='left')

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    运行结果:

    1421031-20181015164111629-1650617247.png

    实例3:标签图文混叠,边距控制,代码如下:

    copycode.gif

    from tkinter import*

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #创建一个标签,显示文本

    logo = PhotoImage(file="/Users/guojin/book/temp.gif")

    explanation = """At present, only GIF and PPM/PGM

    formats are supported, but an interface

    exists to allow additional image file

    formats to be added easily."""

    Label(myWindow,compound=CENTER,text=explanation,image=logo).pack(side="right")

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    运行结果:

    1421031-20181015165032697-52472823.png

    Button控件

    Button 控件是一个标准的 Tkinter 部件,用于实现各种按钮。按钮可以包含文本或图

    像,还可以关联 Python 函数。

    Tkinter 的按钮被按下时,会自动调用该函数。

    按钮文本可跨越一个以上的行。此外,文本字符可以有下划线,例如标记的键盘快捷

    键。默认情况下,使用 Tab 键可以移动到一个按钮部件,用法如下:

    Entry(根对象, [属性列表]),即Entry(root, option...)

    常用的属性列表如下:

    1421031-20181015165113874-2103277383.png

    Button 实例:

    实例1:创建按钮,代码如下:

    copycode.gif

    from tkinter import*

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #创建两个按钮

    b1=Button(myWindow, text='button1',bg="red", relief='raised', width=8, height=2)

    b1.grid(row=0, column=0, sticky=W, padx=5,pady=5)

    b2=Button(myWindow, text='button2', font=('Helvetica 10 bold'),width=8, height=2)

    b2.grid(row=0, column=1, sticky=W, padx=5, pady=5)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    运行结果:

    1421031-20181015165301307-1977481359.png

    实例2:创建按钮并绑定响应函数,输入半径,计算圆面积并输出,代码如下:

    copycode.gif

    from tkinter import*

    def printInfo():

    #清理entry2

    entry2.delete(0, END)

    #根据输入半径计算面积

    R=int(entry1.get())

    S= 3.1415926*R*R

    entry2.insert(10, S)

    #清空entry2控件

    entry1.delete(0, END)

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    #标签控件布局

    Label(myWindow, text="input").grid(row=0)

    Label(myWindow, text="output").grid(row=1)

    #Entry控件布局

    entry1=Entry(myWindow)

    entry2=Entry(myWindow)

    entry1.grid(row=0, column=1)

    entry2.grid(row=1, column=1)

    #Quit按钮退出;Run按钮打印计算结果

    Button(myWindow, text='Quit', command=myWindow.quit).grid(row=2, column=0,sticky=W, padx=5, pady=5)

    Button(myWindow, text='Run', command=printInfo).grid(row=2, column=1, sticky=W, padx=5, pady=5)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    运行结果:

    1421031-20181015165456943-2087207397.png

    输入半径:

    1421031-20181015165516338-1184754718.png

    点击"Run’计算面积:

    1421031-20181015165548062-131369473.png

    Checkbutton控件Checkbutton 是复选框,又称为多选按钮,可以表示两种状态。用法为: Checkbutton

    ( root, option, ... ), 其中可选属性 option 有很多,如下表所示:

    1421031-20181015165630492-2037481845.png

    以下是这个小工具的常用方法:

    1421031-20181015165700982-1642211921.png

    实例1:创建一组复选框,代码如下:

    copycode.gif

    from tkinter import*

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    # 用来获取复选框是否被勾选,通过chVarDis.get()来获取其的状态,其状态值为int类型 勾选为1

    chVarDis = IntVar()

    # text为该复选框后面显示的名称, variable将该复选框的状态赋值给一个变量,当state='disa

    check1 = Checkbutton(myWindow, text="Disabled", variable=chVarDis, state='disabled')

    # 该复选框是否勾选,select为勾选, deselect为不勾选

    check1.select()

    # sticky=tk.W 当该列中其他行或该行中的其他列的某一个功能拉长这列的宽度或高度时,

    # 设定该值可以保证本行保持左对齐,N:北/上对齐 S:南/下对齐 W:西/左对齐 E:东/右对齐

    check1.grid(column=0, row=0, sticky=W)

    chvarUn = IntVar()

    check2 = Checkbutton(myWindow, text="UnChecked", variable=chvarUn)

    check2.deselect()

    check2.grid(column=1, row=0, sticky=W)

    chvarEn = IntVar()

    check3 = Checkbutton(myWindow, text="Enabled", variable=chvarEn)

    check3.select()

    check3.grid(column=2, row=0, sticky=W)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    实例2:绑定响应函数,代码如下:

    copycode.gif

    from tkinter import*

    def callCheckbutton():

    #改变v的值,即改变Checkbutton的显示值

    v.set('check CheckButton')

    #初始化Tk()

    myWindow = Tk()

    #设置标题

    myWindow.title('Python GUI Learning')

    v = StringVar()

    v.set('check python')

    #绑定v到Checkbutton的属性textvariable

    Checkbutton(myWindow,textvariable = v,command = callCheckbutton).pack()

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    Radiobutton控件

    单选按钮是一种可在多个预先定义的选项中选择出一项的 Tkinter 控件 。单选按钮可显

    示文字或图片,显示文字时只能使用预设字体,该控件可以绑定一个 Python 函数或方

    法,当单选按钮被选择时,该函数或方法将被调用。

    单选按钮(Radio Button)这个名字来源于收音机(Radio)上的调频按钮, 这些按钮用

    来选择特定波段或预设电台,如果一个按钮被按下, 其他同类的按钮就会弹起,即同时

    只有一个按钮可被按下。

    一组单选按钮控件和同一个变量关联。点击其中一个单选按钮将把这个变量设为某个预

    定义的值。一般用法为: Radiobutton(myWindow,options) ,其中 option 与

    Checkbutton,Button 大多重合,用法一致。

    1421031-20181015170004345-944702579.png

    实例:创建单选按钮并绑定响应函数,代码如下:

    copycode.gif

    from tkinter import*

    #初始化Tk()

    myWindow=Tk()

    myWindow.title('Python GUI Learning')

    v=IntVar()

    #列表中存储的是元素是元组

    language=[('python',0),('C++',1),('C',2),('Java',3)]

    #定义单选按钮的响应函数

    def callRB():

    for i in range(4):

    if (v.get()==i):

    root1 = Tk()

    Label(root1,text='你的选择是'+language[i][0]+'!',fg='red',width=20, height=6).pack()

    Button(root1,text='确定',width=3,height=1,command=root1.destroy).pack(side='bottom')

    Label(myWindow,text='选择一门你喜欢的编程语言').pack(anchor=W)

    #for循环创建单选框

    for lan,num in language:

    Radiobutton(myWindow, text=lan, value=num, command=callRB, variable=v).pack(anchor=W)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    运行结果:

    1421031-20181015170540585-873407939.png

    1421031-20181015170557193-1659456318.png

    Menu控件

    Menu被用来创建一个菜单,创建Menu类的实例,然后使用add方法添加命令或者其他

    菜单内容。使用方法如下:

    Menu(root,option,…)

    其中 option 列表如下:

    1421031-20181015170627884-998575912.png

    特有函数如下:

    1421031-20181015170650410-2092007143.png

    实例:创建一个菜单组,代码如下:

    copycode.gif

    from tkinter import *

    #创建窗口

    myWindow=Tk()

    myWindow.title("菜单")

    myWindow.geometry("400x300+300+100")

    # 创建一个菜单项,类似于导航栏,顶层菜单

    menubar=Menu(myWindow)

    # 创建菜单项

    fmenu1=Menu(myWindow)

    for item in ['新建','打开','保存','另存为']:

    # 如果该菜单是顶层菜单的一个菜单项,则它添加的是下拉菜单的菜单项。则他添加的是下拉菜单的菜单项。

    fmenu1.add_command(label=item)

    fmenu2=Menu(myWindow)

    for item in ['复制','粘贴','剪切']:

    fmenu2.add_command(label=item)

    fmenu3=Menu(myWindow)

    for item in ['大纲视图','web视图']:

    fmenu3.add_command(label=item)

    fmenu4=Menu(myWindow)

    for item in ["版权信息","其它说明"]:

    fmenu4.add_command(label=item)

    # add_cascade 的一个很重要的属性就是 menu 属性,它指明了要把那个菜单级联到该菜单项上,

    # 当然,还必不可少的就是 label 属性,用于指定该菜单项的名称

    menubar.add_cascade(label="文件",menu=fmenu1)

    menubar.add_cascade(label="编辑",menu=fmenu2)

    menubar.add_cascade(label="视图",menu=fmenu3)

    menubar.add_cascade(label="关于",menu=fmenu4)

    # 最后可以用窗口的 menu 属性指定我们使用哪一个作为它的顶层菜单

    myWindow.config(menu=menubar)

    #进入消息循环

    myWindow.mainloop()

    copycode.gif

    运行结果:

    1421031-20181015170945029-877251031.png

    1421031-20181015170954646-1512359629.png

    Message控件

    Message 控件用来展示一些文字短消息。Message 和 Label 控件有些类似, 但在展示文

    字方面比 Label 要灵活,比如 Message 控件可以改变字体,而 Label 控件只能使用一种

    字体,它提供了一个换行对象,以使文字可以断为多行。

    它可以支持文字的自动换行及对齐,这里要澄清一下前面提到的 Message 控件可以改变

    字体的说法: 这是说我们可以为单个控件设置任意字体, 控件内的文字都将显示为该字

    体,但我们不能给单个控件内的文字设置多种字体,如果你需要这么做,可以考虑使用

    Text 控件。

    创建一个 Message 控件的语法如下:

    w = Message ( root, option, ... )

    其中 option 列表如下:

    1421031-20181015171029480-929918395.png

    请看下面实例:

    copycode.gif

    from tkinter import *

    #初始化Tk()

    myWindow=Tk()

    #创建一个Message

    whatever_you_do = "Only those who have the patience to do simple things per

    msg = Message(myWindow, text = whatever_you_do)

    msg.config(bg='lightgreen', font=('times', 20, 'italic'))

    msg.pack( )

    #进入消息循环

    myWindow.mainloop()

    展开全文
  • MATLAB GUI设计快速入门实例

    万次阅读 多人点赞 2019-11-27 10:47:15
    为了实现课题的一个功能,需要设计一个图形界面,因此使用matlab GUIDE进行设计,但前期没有接触过,因此通过实例练习,理解MATLAB gui设计相关知识。 一、几个GUI设计需要了解的知识 1、进入GUI 设计界面:在命令行...

    时间:2019.11.27
    目的: 课题需要设计一个界面
    为了实现课题的一个功能,需要设计一个图形界面,因此使用matlab GUIDE进行设计,但前期没有接触过,因此通过实例练习,理解MATLAB gui设计相关知识。

    一、几个GUI设计需要了解的知识

    1、进入GUI 设计界面:在命令行输入guide,创建一个空白的GUI,保存即可,在保存目录下会生成两个文件(.fig和.m)。然后进入编辑界面,如图所示:
    在这里插入图片描述
    2、在界面中有许多GUI 设计对象(按钮、滑动条等),选取相应的图表,往右侧编辑区域拉即可。相关功能的自定义可右键对象(如按钮),选择回调函数,进入.M文件,通过编写程序实现。
    3、几个重要的参数,在.m文件中,回调函数一般有4个参数,handles你可以认为是所有图标的结构体,而hObject则是结构体中的成员。其他相关知识可通过一下实例进行练习。

    二、实例代码

    在这里插入代码片
    ```function varargout 
    展开全文
  • 本次学习gui的一个经典的案例
  • Matlab系列之GUI设计实例1

    千次阅读 2021-07-11 15:01:36
    GUI设计实例1介绍实例1结束更多精彩,等你发现~ 介绍 上一篇对GUI设计有了简单的了解,也对控件有了了解,但是控件的搭建只是类似于绘制了一个架构,但是具体的架构内容还没有进行设计,所以还需要编写M文件来实现...
  • matalb GUI设计学习实例,35个源代码实例,可以测试学习,很快上手自己的gui matlab程序界面。简单易学
  • Matlab GUI登录界面设计

    2019-05-07 16:18:21
    Matlab GUI登录界面设计!欢迎下载!
  • PyQt5是基于Digia公司强大的图形程式框架Qt5的python接口,由一组python模块构成。PyQt5本身拥有超过620个类和6000函数及方法。...from PyQt5.QtGui import QIcon import sys class Example(QWidget):
  • Python GUI编程完整示例

    2020-09-19 11:59:05
    主要介绍了Python GUI编程,结合完整示例形式分析了Python基于tkinter模块的GUI图形界面编程相关实现技巧,需要的朋友可以参考下
  • 忙活了三个多小时,连学带做,总算是搞出来了一个具有基本功能的串口通信PC机的GUI界面,Tkinter在python中确实很好用,而且代码量确实也很少,不足的是Tkinter不自带combox,但是幸运的是我下载的2.7版本自带了包含...
  • 登录界面实例说明。。。。。。。。。。。。。。
  • matlab GUI界面设计实例,非常有用,有助于MATLAB设计界面!
  • 基于MATLAB的可视化GUI界面设计 GUI界面的打开: 1:打开MATLAB 2:在命令行输入 >>guide 3:选择你所需要创建的GUI,一般为默认 4:通过添加你所需要实现的功能 5:双击2中的功能块,修改该功能(如按钮,...
  • 一个不错的 Matlab 的 gui 界面设计实例 %非常漂亮的日历 function CalendarTable; % calendar 日历 % Example: % CalendarTable; S=datestr(now; [y,m,d]=datevec(S; % d is day % m is month % y is year DD={'Sun...
  • Matlab GUI界面绘图和句柄编程实例
  • GUI应用实例-11.rar

    2019-08-12 17:30:12
    GUI应用实例-11.rar 这是本人在学习GUI编程时所写的程序,自己觉得挺有用的,各个组件基本上都涉及了,用法都包括了,希望对大家有用。 11.rar ,包括confirm对话框和modal型图形界面的用法。 ...
  • 用于计算汽车动力性和经济性,基于MATLAB的GUI界面
  • 本资源基于网络的参考实现了好看的GUI界面,并带有样式截图,下载下来即可看见各种截图和py文件,可直接在python环境运行,基于pyqt5实现
  • matlabGUI界面编程示例

    2012-08-03 15:26:36
    matlab GUI 界面编程示例 (CS实验平台)
  • 带有一个人机交互界面。可以对比两个指纹是不是同一个人。两个指纹分别做灰度化,二指化,细化提取指纹特征点,包括指纹的端点和分叉点,以及端点和分叉点的距离个数来判别是不是同一个人。该课题带有人际交互界面,...
  • javagui界面实例

    2021-04-22 20:28:06
    gui界面设计动态图实例,南宁UI设计培训学哪些知识,javagui界面设计实例,javagui界面实例(整理)javaGUI开发初学经典案例._计算机软件及应用_IT/计算机_专业资...Java 实现Gui简洁界面_IT/计算机_专业资料。...
  • GUI图形用户界面设计

    千次阅读 2021-04-26 16:25:10
    GUI图形用户界面设计 guide——打开GUIDE启动界面 guide file——打开文件名为file的GUIDE用户界面 用户控件的制作 GUI设计工作台左边都为可以拉动的组件 修改文本、字体、和tag tag的属性设置必须是唯一的 设置...
  • python随机数猜数游戏,带GUI界面,简单,适合代码重造
  • VISUAL C++ vc++ GUI图形界面制作技术与应用实例源代码
  • java gui界面设计,2022最新

    千次阅读 2022-01-24 16:29:03
    掌握超百万用户信息赴国外上市须审查,本科美国留学通信工程全析平台开发工程师:熟练掌握Java,熟悉SQL Server,清晰对象持久化编程,了解网络编程,针对于JMS消息队列编程清晰,CMPP,SGIP协议规范深入了 GUI开发工程师:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,660
精华内容 23,064
热门标签
关键字:

gui界面设计实例100例