首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python GUI项目实战(七)学生信息修改、删除和保存

前言 上一节,我们实现了添加学生信息功能,在明细窗体输入学生信息并添加到总列表,与此同时在窗体表格能自动刷新添加数据。...# 反馈信号给窗体 self.userinfo = 1 # 关闭窗体 self.destroy() 然后我们在窗体代码update_student方法中继续完善,接收明细窗体明细信号。...更新表格 删除操作执行完成后,TreeView表格需要立刻更新。由于删除操作直接是在窗体中进行,就不需要和前面一样再设置反馈信号了,直接调用载入全部学生信息方法即可。...我们在窗体定义close_window方法: def close_window(self): # 给用户提示:是否要保存数据 choose = askyesno("关闭前提醒","关闭窗体是否要将修改写入文件...如果我们直接在每个学生信息数据项后添加换行符,这也是不可取,因为在原始列表已经了换行符。 (2)解决方法: 统一把原始数据换行符都去掉,再添加换行符。

3.6K31
您找到你想要的搜索结果了吗?
是的
没有找到

WEB功能测试说明

如对于要求输入整型、 符点型变量,输入空格,既不是值,又不是标准输入。 20、输入法半角全角检查:在输入信息项,输入半角或全角信息,查看系统怎样处理。...如对于要 求输入符点型数据,输入全角小数点(“。”或“.”。4.5)。输入全角空格等。...假设系统数据计算不对,那么功能測试肯定是通只是 数据检查依据不同系统,方法不同。...· 窗体数据内容是否能用鼠标、功能键、方向键和键盘訪问? · 当被覆盖并又一次调用后。窗体是否能正确地再生? · 须要时是否能使用全部窗体相关功能?...· 图形模式数据项(滚动栏)是否正常工作? · 是否可以识别非法数据? · 数据是否输入消息可理解? 版权声明:本文博原创文章,博客,未经同意不得转载。

1.2K41

CS架构整合SQLserver数据库实现C#财务管理系统,报表分析系统

OleDbCommand:向使用OLEDB公开数据库发送SQL语句,Access数据库和MySql数据库 4)OracleCommand:向使用ORACLE公开数据库发送SQL语句 方法: 1)ExecuteNonQuery...DataReader对象进行读取,对于不同数据库连接,不同DataReader类型,如下: 1)在System.Data.SqlClient命名空间下,可以调用SqlDataReader类 2)在...1)合并DataSet内容 方法:Merge(dataSet将合并数据和架构dataSet名,preserveChanges是否保留当前DataSet更改,missingSchemaAction...sqlhelper对象,即在登陆窗体让sqlhelper类实例化。...,对象实例化 zhujiemian.Show();//显示窗体 this.Hide();//隐藏登陆窗体

1K20

C#项目实战练习:做自己QQ

主要涉及了以下内容: Form窗体关键属性、方法和事件应用; 如何触发窗体和控件时间; ListView控件和ImageList组件结合使用; 数据库及数据建立与管理; 使用C#操作SQL server...便于测试   为了方便测试登录窗体,实现点击安全登陆按钮可以代开窗体操作,我们应该事先在数据添加一条用户数据。   这样我们输入账号即可测试记住密码,打开窗体等功能。...ExecSQL方法来查询数据库,并返回查询结果结果第一行第一列。...首先我们向窗体 添加toolStrip控件,并修改其Name属性tsOperation先将控件toolStripDock属性设置Bottom。   ...数据库查询   窗体加载时,从数据获取用户好友信息,因此需要在DataOperator类添加GetDataReader方法来执行Sql查询。

7.2K20

Python GUI项目实战(六)实现添加学生信息功能

添加数据思路 在窗体点击添加学生按钮,跳转到明细窗体,这个我们在前面的章节已经实现了,现在我们要考虑是,在明细窗体页面数据添加完成后所要进行操作。...现在有两种主要思路: 思路01: 第一步:写入到文件;第二步:将新添加信息在界面显示;然而由于本项目没有使用数据库技术存储数据,而每次添加、修改和删除都要写入文件的话,一方面会影响到程序运行速度。...等到关闭窗体时候,系统弹窗询问是否保存数据,点击是,再把数据存储到文件。 2....注意事项: all_student_list数据是在窗体里定义,然而执行添加功能是在明细窗体中进行,所以我们必须要在明细窗体构造函数再添加一个参数来接收窗体传递数据!!! ?...二、添加数据实现 明细窗体已经添加了all_student_list参数,那么我们窗体加载明细窗体方法load_detail_window()也要跟着做出相应调整: def load_detail_window

1.6K20

Python GUI项目实战(八)修改密码功能实现

要求 主体框架与明细窗体保持一致; 能够读取当前用户名、验证旧密码、设置新密码、确认新密码功能; 输入密码时输入框显示内容 * 号 当前用户名只显示数据,不可修改 2....self.current_user_list = self.user_list[index] 之后,我们在加载窗体函数load_main(),将参数设置self.current_user_list...当修改密码窗体接收到用户列表数据后,在构造函数中就可以直接设置当前登录用户名,在Entry_login显示出来。...修改密码前判断 修改密码需要有以下条件: 旧密码是否正确 新旧密码不允许相同 新密码不许 两次输入新密码是否一致 在修改密码窗体,我们分别给保存和关闭两个按钮绑定方法commit()和close_window...接着我们在构造方法添加这个方法,当这个窗体被打开时自动执行该方法把所有的用户登录信息存储在all_login_list。 2.

2.3K51

不使用反射,“一行代码”实现Web、WinForm窗体表单数据填充、收集、清除,和到数据CRUD

}//对应表名或者实体类类名称     OK,了IDataControl接口这几个接口方法和属性,不使用反射,封装一下,“一行代码”实现Web、WinForm窗体表单数据填充、收集、清除,和到数据...”是否值。    ...)数据变化后(新增、修改),可以立即反应到窗体(Form1)上,而不用窗体去重新加载数据,这里就必须用到数据绑定集合: private BindingList UserBindingList...增加数据,在新窗体录入数据 ? 单击按钮保存数据窗体列表自动增加一行数据 ? 新窗口先不关闭,修改下消费金额,确定,发现窗口列表数据被同步修改了。...整个过程没有从数据库去重新刷新数据窗口网格控件,实现了多个窗体之见数据同步。

2.7K80

CC++ Qt MdiArea 多窗体组件应用

MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体内嵌多种子窗体功能,使用MDI组件需要在UI界面增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...,在toolBar增加相应菜单栏,并在窗体中放入mdiArea容器组件。...窗体顶部菜单栏,我们需要手动定义一下他们所具备功能名称等。...void MainWindow::on_actionTile_triggered() { ui->mdiArea->tileSubWindows(); } 代码运行效果如下: 最后一个功能是窗体发送数据到子窗体...on_mdiArea_subWindowActivated 实现设置窗体名字到自身 on_actionSendMsg_triggered 实现窗体发送消息到子窗体内 // 当子窗体打开时获取到其窗体标题

99620

CC++ Qt MdiArea 多窗体组件应用

MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体内嵌多种子窗体功能,使用MDI组件需要在UI界面增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...,在toolBar增加相应菜单栏,并在窗体中放入mdiArea容器组件。...图片窗体顶部菜单栏,我们需要手动定义一下他们所具备功能名称等。...平铺模式void MainWindow::on_actionTile_triggered(){ ui->mdiArea->tileSubWindows();}代码运行效果如下:图片最后一个功能是窗体发送数据到子窗体...on_mdiArea_subWindowActivated 实现设置窗体名字到自身on_actionSendMsg_triggered 实现窗体发送消息到子窗体内// 当子窗体打开时获取到其窗体标题

1K40

焦点事件Validating处理方法

例如,一个电话号码TextBox控件,需要检查该控件是否只包含适当字符(数字、括号和连字符等等)。通常,我们可使用正则表达式验证用户输入数据。...关闭窗体和重写验证 当数据无效时,维护焦点控件副作用是,使用关闭窗体任何常规方法都将无法关闭父窗体: 单击“关闭”框 通过右击标题栏显示“系统”菜单 以编程方式调用 Close 方法...        不过,在某些情况下,无论控件是否有效,您都希望用户可以关闭窗体。...您可以重写验证,并通过创建窗体 Closing 事件处理程序来关闭仍包含无效数据窗体。在该事件,将 Cancel 属性设置 False。这将强制关闭该窗体。        ...如果使用此方法强制关闭窗体,控件尚未保存任何信息都将丢失。模式窗体在关闭时不会验证控件内容,仍可以使用控件验证将焦点锁定到控件,但不必考虑关闭窗体行为。

2K10

手机APP测试(测试点、测试流程、功能测试)

不打开应用时,能否接收消息  打开应用时,能否接收消息  登录与不登录情况下,接收消息是否区别  精确推送,是否只推送给指定用户 1.10 界面测试 1.窗体   测试窗体方法:   a,窗体大小,...,检查程序是否正常校验,,程序要求输入年月日格式yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示 在测试过程中所用到测试方法:   1,输入非法数据;   2,输入默认值;   ...分别选择了“男”“女”后,保存到数据数据应该相应分别为“男”“女”;   c,一组执行同一功能单选按钮在初始状态时必须有一个被默认选中,不能同时; 5. up-down控件文本框测试   ...,“插入”数目默认值,点击“确定”;或,删除默认值,使内容,单击“确定”进行测试;   e,输入字符。此时系统应提示输入有误。...,更新后客户端功能是否是新版本功能 逆向:当客户端新版本时,在本地不删除客户端情况下,检查资源同名文件如图片是否正常更新最新版本 逆向:升级安装意外情况测试(死机、断电、重启) 逆向:强制更新

5.9K43

Python GUI项目实战(五)明细信息窗体完善

一、填充当前学生信息 1.需求 目前我们已经实现功能是在窗体双击表格任一行,弹出明细窗体。我们我们需要做是:将窗体对应学生信息传递到明细窗体并显示在明细窗体。...2.思路 既然要设计窗体向子窗体数据传递功能,就要准备好窗体传递和子窗体接收。...self.current_student_list = current_student 然后定义一个加载学生明细信息函数(如果获取到的当前学生信息,则通过弹出对话框提醒用户没有任何数据需要展示,...所以我们设计下面这个方法: 通过鼠标双击表格某一行,获取该行标识符,然后使用item()方法通过标识符获取该行所有数据。...这种方法什么缺陷,有没有更好方法?还有一点我们需要注意是:布局时不要图方便直接在构建控件后就使用布局,这样会导致后面对控件属性进行修改时,系统报错。这些都是我们需要注意地方。

1.8K20

C++ Qt开发:TableView与TreeView组件联动

本章我们继续实现表格联动效果,当读者点击TableView或TreeView某一行时,我们让其实现自动跟随功能,且当用户修改行特定数据时也让其动态跟随改变,首先绘制一个界面如图,分别放置两个组件框...bool hasSelection() const 判断是否选中项。...delete ptr;}接着来看下子对话框DialogSize做了什么,在对话框代码rowCount()是给窗体调用函数其功能是获取到当前对话框spinBoxRow组件数值,而columnCount...()同理用于得到spinBoxColumn组件数值,最后setRowColumn()则是用于接收窗体船只,并设置到对应子对话框上SpinBox组件内,其代码如下;DialogSize::DialogSize...(){ return ui->spinBoxColumn->value();}// 设置窗体TableView行数与列数void DialogSize::setRowColumn(int

32310

Qt编写安防视频监控系统30-GPS运动轨迹

一、前言 此功能是一个客户定制,主要是需要在地图上动态显示GPS运动轨迹,个应用场景就是一个带有监控车子,实时在运动,后台可以接收到经纬度信息,需要绘制对应轨迹,相当于这些摄像机点位是动态移动...GPS运动轨迹这个功能,也需要用到js知识,其实就是封装一个js函数,绘制对应线条路径,这个轨迹点可能包括信息经度、纬度、速度、时间、是否标记、时间等信息,写个结构体封装下,方便后期拓展,是否标记含义是是否改点同时作为一个设备点添加...视频拖动到通道窗体外自动删除视频。 鼠标右键可删除当前+所有视频,截图当前+所有视频。 录像机管理、摄像机管理,可添加删除修改导入导出打印信息,立即应用新设备信息生成树状列表,不需重启。...在pro文件可以自由开启是否加载地图。 视频播放可选2种内核自由切换,vlc+ffmpeg,均可在pro设置。...if (gpsPointInfo.isMark) { //标注点名称 则不显示 QString name = ""; //标注点地址 则不显示

2.6K00

关于DialogResult

“确定”按钮DialogResult属性, 设置完成后,只要用户一点击“确定”按钮,那么对话框就关闭,重新回到窗体,然后可以在窗体中进行相应处理,比如把数据写入数据库等。...) 这个判断就为真,不管你邮件格式是否正确,窗体都会继续向下执行。...所以我们根本就不需要设置“确定”按钮Diagolue属性,直接把判断邮件是否合格方法放在”确定”按钮点击事件,如果符合,那么就设置窗体Diagolue属性OK,用下面的代码: 1:...(VS.80).aspx 窗体对话框结果是当窗体显示模式对话框时从该窗体返回值,如果窗体显示对话框,用DialogResult枚举值设置此属性将设置该窗体对话框结果值、隐藏模式对话框并将控制返回给调用窗体...因为此行为,所以当应用程序不再需要该窗体时,必须调用该窗体 Dispose 方法。 可以使用此属性确定对话框是如何关闭,以便正确处理在该对话框执行操作。

98810

【愚公系列】2023年11月 Winform控件专题 Label控件详解

在该事件,判断文本框是否,如果则弹出提示框并阻止焦点离开控件。这样,用户就必须输入有效值才能离开文本框。...在需要显示ContextMenuStrip控件(Button、DataGridView等)MouseDown事件编写代码,通过Show方法显示ContextMenuStrip。...Cursor类很多预定义光标类型,比如箭头、手型、光标等等。除此之外,也可以使用自定义光标。以下是一些常用Cursor类方法和属性:Current:获取或设置当前光标。...需要注意是,当多个控件Dock属性设置相同时,它们位置顺序将根据它们在容器添加顺序决定。如果需要改变它们顺序,可以通过在容器删除再重新添加控件方式来实现。...记住AutoSizetrue时2.常用场景WinformLabel控件常用场景:显示文字:Label控件可以用于显示文本信息,窗口标题、提示信息、作者信息等。

49111

c#实战教程_ps初学者入门视频

MainForm1=form1;//新增语句,这里Form1是窗体属性Name值 }//了Form1,可以在formFindReplace窗体调用窗体公有方法 (24) 为主窗体...=form1;//新增语句,这里Form1是窗体属性Name值 }//了Form1,可以在formChild窗体调用窗体公有方法 (6) 把Mainmenu控件放到子窗体。... 方法IsEmpty:测试是否区域。  方法IsVisible:测试参数指定点或矩形是否在区域中。  方法Union:可以得到两个Region类对象并集。...Delete方法第二个参数bool类型,它可以决定是否删除非空目录。如果该参数值true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录时才可删除。...发现本站涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

15.5K10

测试思想-系统测试 界面测试总结

,在Windows平台开发软件则以Windows平台规范,在Mac苹果平台开发则以苹果平台规范。可以说:界面遵循规范化程度越高,则易用性相应就越好。...快捷键,一般不自己创新,F1总是帮助 菜单中常见组合 1):面向事务组合 Ctrl-D 删除 ;Ctrl-F 寻找 ;Ctrl -H替换;Ctrl-I 插入 ;Ctrl-N 新记录 ;Ctrl-S...父窗体窗体中心位置应该在对角线焦点(附近)。 5. 子窗体位置应该在窗体左上角或正中。 6. 多个子窗体弹出时应该依次向右下方偏移,以显示出窗体标题为宜。 7....界面元素[如按钮,字体(通常使用字体宋体9-12较为美观)]和窗体大小要与界面的大小和空间要协调[ 放置完控件后界面不应有很大空缺位置]。 5....同时打开多个窗口,窗口之间是否有影响 界面测试时候结合实际情况,有所取舍,自我创新,怎么样把上述细节融入于功能测试,尽量减少“测试冗余”,我目前也不是很好想法,能想到就是动静结合了,先观察,

2.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券