170322 PyQt-后台界面设置、WidgetList的使用 汇编5.1
2017-03-22 17:16
274 查看
1625-5 王子昂 总结《2017年3月22日》 【连续第172天总结】
A.
PyQt Label控件大小设置、弹出文件选择
汇编语言
5.1
B.看了一下Qt中的控件size,都是0x0,估计这就是使用scaled设置大小不充满的原因了
在Qt界面中右击控件即可设置它们的最小size
尝试了一下动态修改GUI界面的信息,发现与Tk类似,使用sys.exit(app.exec_)进入主循环以后就不能使用过程代码修改内容了
只能通过信道槽(事件响应)的回调函数来修改
百度查到了getOpenFileName的用法,是微软提供的设定好的库函数弹出选择文件的对话框。
自己复制过来的时候总是闪退,怎么试都是闪退,气哭
最后没办法,找一个同是PyQt5的示例程序原版复制到一个新文件,运行---成了!
说明是衔接有问题,一一对比,发现是一个参数本来为self,在我的程序中因为界面和Widget是两个类,所以出问题了,遂把Widget的对象放入方法的参数里,终于也成功了。
另外getOpenFileName和其他保存之类的对文件操作的对话框,里面的过滤器格式形如:"All File(*);;Picture File(*.jpg *.gif)" 即:不同过滤器使用;;分隔,同一过滤器的不同格式使用空格' '分隔。也是通过关键字多次查找了很久才拼凑出来的知识。
整理了界面与逻辑分离的思路--新建一个QtWidgets.QWidget/QMainWindow类,作为逻辑存放地;在这个类中生成一个界面类的对象,然后对其的域修改即可
也可以直接让新类继承界面类,使用self.同样可以修改其域
使用新类的原因是只有这两个类才有show函数,来显示界面
查了半天如何用TextEdit控件实现换行啊选中背景高亮啊等等功能都完全没有,有点奇怪……
后来发现有ListWidget控件可以轻松实现OTZ搜索之前要先查看一下现有手头资源啊
openFileName可以直接得到文件路径,然后按照路径将它导入Image对象中,在Label控件里就可以生成预览图像了
因为本身Qt自带的信号就有ItemClicked,所以直接就拿来用了,但是因为要显示Item的名字,所以查了半天这个参数如何用信号机制发送。 PyQt5本身资源就比较少,教程里又基本上全都是自定义信号的。解决起来很困难,StackOverflow里倒是有很多问题,然而阅读起来实在费力。英文的重要性啊OTZ
最终终于在边边角角的材料中一点一点拼凑起来:自带的信号会发送参数,只需要在槽中接受参数即可,还好Py可以在'.'后显示方法和域,找到了text()方法得到文本内容,这样才能方便地预览了。
意外收获:Event机制和sender---PyQt中也有Event参数,诸如KeyPress之类的事件使用Event.key()方法可以得到按下的按键
sender则可以得到信号发出者的对象,然后就能使用它的方法和域了
另外在查找文档的时候还发现有人提到在命令交互界面使用help可以获得官方的帮助文档,里面提供了方法和域的说明
下一步是Item的序号,以便进行随机抽取
不过其实抽象一个列表来替代也可以;那么更重要的就是右键菜单,或者是删除功能了(以及删除所传出的信号来修改抽象列表)
汇编:
[0]表示段地址为ds,偏移地址为0的内存单元存放的内容
[bx]表示段地址为ds,偏移地址为bx寄存器的内容的内存单元存放的内容
(X)表示X中存放的内容,X可以是寄存器,可以是段寄存器,也可以是内存单元的物理地址(20位数据,而不是段地址:偏移地址)
idata表示常量
loop
标号
CPU执行loop指令的时候进行两步操作:①(CX)=(CX)-1
②判断(CX)是否为0,不为0则转至标号处执行程序
通常使用loop实现循环功能,cx存放循环次数
eg:
assume cs:code
code segment
mov ax,2
mov cx,11
s:
add ax,ax
loop s
mov ax,4c00h
int
21h
code ends
end
C.
明日计划
Qt
WidgetList的序号和删除功能
汇编语言第五章
A.
PyQt Label控件大小设置、弹出文件选择
汇编语言
5.1
B.看了一下Qt中的控件size,都是0x0,估计这就是使用scaled设置大小不充满的原因了
在Qt界面中右击控件即可设置它们的最小size
尝试了一下动态修改GUI界面的信息,发现与Tk类似,使用sys.exit(app.exec_)进入主循环以后就不能使用过程代码修改内容了
只能通过信道槽(事件响应)的回调函数来修改
百度查到了getOpenFileName的用法,是微软提供的设定好的库函数弹出选择文件的对话框。
自己复制过来的时候总是闪退,怎么试都是闪退,气哭
最后没办法,找一个同是PyQt5的示例程序原版复制到一个新文件,运行---成了!
说明是衔接有问题,一一对比,发现是一个参数本来为self,在我的程序中因为界面和Widget是两个类,所以出问题了,遂把Widget的对象放入方法的参数里,终于也成功了。
另外getOpenFileName和其他保存之类的对文件操作的对话框,里面的过滤器格式形如:"All File(*);;Picture File(*.jpg *.gif)" 即:不同过滤器使用;;分隔,同一过滤器的不同格式使用空格' '分隔。也是通过关键字多次查找了很久才拼凑出来的知识。
整理了界面与逻辑分离的思路--新建一个QtWidgets.QWidget/QMainWindow类,作为逻辑存放地;在这个类中生成一个界面类的对象,然后对其的域修改即可
也可以直接让新类继承界面类,使用self.同样可以修改其域
使用新类的原因是只有这两个类才有show函数,来显示界面
查了半天如何用TextEdit控件实现换行啊选中背景高亮啊等等功能都完全没有,有点奇怪……
后来发现有ListWidget控件可以轻松实现OTZ搜索之前要先查看一下现有手头资源啊
openFileName可以直接得到文件路径,然后按照路径将它导入Image对象中,在Label控件里就可以生成预览图像了
因为本身Qt自带的信号就有ItemClicked,所以直接就拿来用了,但是因为要显示Item的名字,所以查了半天这个参数如何用信号机制发送。 PyQt5本身资源就比较少,教程里又基本上全都是自定义信号的。解决起来很困难,StackOverflow里倒是有很多问题,然而阅读起来实在费力。英文的重要性啊OTZ
最终终于在边边角角的材料中一点一点拼凑起来:自带的信号会发送参数,只需要在槽中接受参数即可,还好Py可以在'.'后显示方法和域,找到了text()方法得到文本内容,这样才能方便地预览了。
意外收获:Event机制和sender---PyQt中也有Event参数,诸如KeyPress之类的事件使用Event.key()方法可以得到按下的按键
sender则可以得到信号发出者的对象,然后就能使用它的方法和域了
另外在查找文档的时候还发现有人提到在命令交互界面使用help可以获得官方的帮助文档,里面提供了方法和域的说明
下一步是Item的序号,以便进行随机抽取
不过其实抽象一个列表来替代也可以;那么更重要的就是右键菜单,或者是删除功能了(以及删除所传出的信号来修改抽象列表)
汇编:
[0]表示段地址为ds,偏移地址为0的内存单元存放的内容
[bx]表示段地址为ds,偏移地址为bx寄存器的内容的内存单元存放的内容
(X)表示X中存放的内容,X可以是寄存器,可以是段寄存器,也可以是内存单元的物理地址(20位数据,而不是段地址:偏移地址)
idata表示常量
loop
标号
CPU执行loop指令的时候进行两步操作:①(CX)=(CX)-1
②判断(CX)是否为0,不为0则转至标号处执行程序
通常使用loop实现循环功能,cx存放循环次数
eg:
assume cs:code
code segment
mov ax,2
mov cx,11
s:
add ax,ax
loop s
mov ax,4c00h
int
21h
code ends
end
C.
明日计划
Qt
WidgetList的序号和删除功能
汇编语言第五章
相关文章推荐
- 简易的网站栏目设置(使用动易的后台框架)
- visual studio自带的SQL2005的使用以及界面语言设置中文
- Android的设置界面及Preference使用
- Android的设置界面及Preference使用
- OPhone的设置界面及Preference使用
- 在WinFrom应用中,如果使用后台线程来操作界面应调用Control.Invoke()方法
- 使用sencha touch控件制作list界面
- FSO组件不可用,各种与FSO相关的功能都将出错!请运行Install.asp或者到后台网站配置处设置好FSO组件名称。或无法使用vbscript
- (界面笔记之二十七)设置按钮图标可用不可用的图标显示(CBitmapButton的使用)
- Android的设置界面及Preference使用
- 使用匿名函数在后台线程中设置窗体控件属性
- 各种软件设置代理服务器上网使用指南汇编
- 使用jQuery Easyui 制作的后台界面
- GTK如何给Label和其他的widget设置字体?不是使用API函数哦
- 使用easyui 做后台管理界面,在Tab中的链接点击后添加一个新TAB的解决方法
- VS6.0单文档工程中,View界面想使用CListCtrl & list = GetListCtrl(); 问题总结
- 关于使用vc进行换肤设置和使用skinplusplus.dll美化界面
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Setup Factory 7.0使用总结四:一些算不上技巧的界面设置技巧
- Android的设置界面及Preference使用