
python
文章平均质量分 78
play maker
这个作者很懒,什么都没留下…
展开
-
IDEA使用--添加python解析器
有时候需要给IDEA添加一个python解析器,点击右边的配置python解析器。如下,检测到了Anaconda的python环境,当然可以直接用它。也可以指定其他的,如下C:\Users\84322\AppData\Local\Programs\Python\Python38\如下,可以使用系统的python环境,也可以很方便地直接使用conda、virtualenv来创建一个干净的新环境。添加完python sdk之后,这里再选上添加好的环境。环境...原创 2022-05-19 10:12:12 · 13449 阅读 · 0 评论 -
NaughtyQuestioner:一个只能同意的问答器
实现一个点击no或者点击窗口的x不会关闭窗口,反而是随机移动窗口到另一个位置的程序,胁迫用户只能点击确认才能关闭程序。本程序可用于发给朋友用于玩乐。效果如下,点击 达咩 程序会随机移动到另一个位置,只有点 好噢才会关闭。实现如下,最外层Widget使用一个QVBoxLayout来配置,两个按钮放入一个QHBoxLayout里,从而实现两个按钮处于一行,然后QHBoxLayout与两个label放入QVBoxLayout里。第一个label使用setPixmap配置显示图片..原创 2022-04-29 22:37:51 · 366 阅读 · 0 评论 -
PyQt5教程 (结合designer使用)--- (五)Events and signals
Events不只由用户操作app来生成,还有其他方式,如网络连接、定时器等。Application对象使用exec_方法后,程序进入主循环,主循环捕捉事件并发送到目标对象事件模型中有三个参与者,事件源、事件、事件目标Event source 将处理事件的任务委托(delegate)给 event targetSlot 插槽一个slot可以是一个python的可执行对象,当它所连接的signal发生时会执行信号与槽2Pyqt开发过程中,主要的代码也就是实现槽函数的地方。但是!!!不只可以.原创 2021-01-29 08:39:37 · 996 阅读 · 0 评论 -
PyQt5教程 (结合designer使用)--- (三)Menus and toolbars
QStatusBar(*)如果要动态更改Statusbar,则只能用代码实现,简单的静态设置还是可以用designer(不过statusbar本身的功能需求就是动态的吧。。。)import sysfrom PyQt5.QtWidgets import QMainWindow, QApplicationclass Example(QMainWindow): def __init__(self): super().__init__() self.initUI()原创 2021-01-29 08:29:43 · 913 阅读 · 0 评论 -
PyQt5教程 (结合designer使用)--- (四)Layout management
Layout management可以使用绝对布局和使用layout类进行布局推荐使用layout manager的方式(应该是指使用layout类)这一章内容都可以用designer完成,但是理解布局的原理挺重要的Absolute positioning绝对布局就是直接使用坐标位置和尺寸大小来确定每个widget的信息(以像素为单位)会有一系列坏处如果一个widget的parent widget大小改变时,该widget的位置和大小都不会改变!!!因此可能会出现widget部分没显示出来原创 2021-01-29 08:14:25 · 639 阅读 · 0 评论 -
PyQt5教程 (结合designer使用)--- (二)解析designer生成的代码
前面一章是直接使用底层的widgetdesigner选择Main window时使用的也是QMainWindow类!一个新建的QMainWindow对象会包含上图所示的控件!因此QMainWindow对象拥有menubar、statusbar、centralwidget解析designer生成的代码上面新创建的一个QMainWindow,生成的对应代码如下定义了一个类Ui_MainWindow,不是继承QWidget那些对象,而是普通的类,继承python的object对象这个类定义了一个.原创 2021-01-28 22:13:12 · 896 阅读 · 0 评论 -
PyQt5教程(结合designer使用)--- (一) First programs
First programsPyQt5 is a high level toolkit. If we would code in a lower level toolkit, the following code example could easily have hundreds of lines.PyQt5 simple exampleimport sysfrom PyQt5.QtWidgets import QApplication, QWidget #这里引入了PyQt5.QtWidge原创 2021-01-28 22:06:18 · 574 阅读 · 0 评论 -
Pyinstaller 使用Spec文件来把非代码文件一起打包
提供一个spec文件样例# -*- mode: python ; coding: GBK -*-block_cipher = Nonea = Analysis(['test2.py'], pathex=['C:\\Users\\tumbled\\Desktop'], binaries=[], datas=[(r"C:\Users\tumbled\Downloads\周柏豪 - 够钟.mp3","music")],原创 2021-01-16 12:12:00 · 2388 阅读 · 0 评论 -
Pyinstaller库官方文档部分翻译---打包python脚本成可执行文件
参数使用https://pyinstaller.readthedocs.io/en/stable/usage.htmlD参数生成一个文件夹,里面包含了一个执行文件(默认情况),F参数生成一个可执行文件c参数弹出一个console窗口用来i/o操作,windows下是默认的,使用w参数指定不要弹出console窗口,i参数指定执行文件的图标把其他格式图片转成ico格式:https://app.xunjiepdf.com/img2icon/add-data、add-binary参数用于将某些代码原创 2021-01-16 11:57:55 · 1409 阅读 · 1 评论 -
模拟哲学家就餐
同时提供可能会带来死锁的解法和不可能死锁的解法可能带来死锁import threadingimport timeimport randomchopstick=[]for i in range(5): chopstick.append(threading.Semaphore(1))class Philosopher(threading.Thread): def __init__(self,id): self.id=id threading.Thr原创 2020-11-20 22:10:17 · 252 阅读 · 0 评论 -
利用线程实现“生产者-消费者”同步控制
利用线程实现“生产者-消费者”同步控制缓冲区大小为10,2个输入线程产生产品(随机数)存到数组中;3个输出线程从数组中取数输出。生产者1的数据:1000-1999 (每个数据随机间隔100ms-1s),生产者2的数据:2000-2999 (每个数据随机间隔100ms-1s)消费者每休眠100ms-1s的随机时间消费一个数据。屏幕打印每个数据的生产和消费记录。代码如下:import timeimport threadingimport randomimport queuebuffer=q原创 2020-11-20 21:15:15 · 790 阅读 · 0 评论