目录
1.时间日期相关:
1.1 数据类型
- QTime:时间数据类型,表示时间,如:14:23:13。
- QDate:日期数据类型,表示日期,如:2020-4-5。
- QDateTime:日期时间数据类型,表示日期和时间,如:2020-03-23 08:12:43。
所以Time 就是时间;Date 就是日期;DateTime就是时间+日期
1.2 相关组件
- QTimeEdit:编辑和显示时间的组件。
- QDateEdit:编辑和显示日期的组件。
- QDateTimeEdit:编辑和显示日期时间的组件。
- QCalendarWidget:用日历形式选择日期的组件。
QDateEdit 和 QTimeEdit 都是从 QDateTimeEdit 继承的,实现日期或时间的特定显示功能。实际上,QDateEdit 和 QTimeEdit 的显示功能都可以通过 QDateTimeEdit 实现,只需设置属性即可。
QDateTimeEdit 类的主要属性如下:
datetime:日期时间。
date:日期,设置 datetime 时会自动改变 date,同样,设置 date 时,也会自动改变 datetime 里的日期。
time:时间,设置 datetime 时会自动改变 time,同样,设置 time 时,也会自动改变 datetime 里的时间。
maximumDateTime、 minimumDateTime:最大、最小日期时间。
maximumDate、minimumDate:最大、最小日期。
maximumTime、minimumTime:最大、最小时间。
currentSection:当前输入光标所在的时间日期数据段,是枚举类型 QDateTimeEdit::Section。QDateTimeEdit 显示日期时间数据时分为多个段,单击编辑框右侧的上下按钮可修改当前段的值。如输入光标在YearSection段,就修改“年”的值。
currentSectionIndex:用序号表示的输入光标所在的段。
calendarPopup:是否允许弹出一个日历选择框。当取值为 true 时,右侧的输入按钮变成与 QComboBox 类似的下拉按钮,单击按钮时出现一个日历选择框,用于在日历上选择日期。对于 QTimeEdit,此属性无效。
displayFormat:显示格式,日期时间数据的显示格式,例如设置为“yyyy-MM-dd HH:mm:ss”,一个日期时间数据就显示为“2020-11-02 08:23:46”
2. listview和listwiget相关:
3.打包相关:
- setup.py
- 假如我在本机开发一个程序,需要用到python的redis、mysql模块以及自己编写的redis_run.py模块。我怎么实现在服务器上去发布该系统,如何实现依赖模块和自己编写的模块redis_run.py一起打包,实现一键安装呢?同时将自己编写的redis_run.py模块以exe文件格式安装到python的全局执行路径C:\Python27\Scripts下呢?在这种应用场景下,pip工具似乎派不上了用场,只能使用python的构建工具setup.py了,使用此构建工具可以实现上述应用场景需求,只需在 setup.py 文件中写明依赖的库和版本,然后到目标机器上使用python setup.py install安装。
4. 常见函数:
-
Event().accept和Event().ignore()
- 概念
- ignore 忽略本次处理,继续向上传递
- accept:表示事件已处理,不需要向父窗口传播
- 例如:
- 当事件被重写后,便不会向上传递,但这里使用ingore后,本次处理了,上级依然会被执行,也就是事件会向上传递。
-
def mousePressEvent(self, QMouseEvent): print("标签控件鼠标按下") QMouseEvent.ignore() # 事件假装没有被处理,继续往上层传
-
- 当事件被重写后,便不会向上传递,但这里使用ingore后,本次处理了,上级依然会被执行,也就是事件会向上传递。
- 概念
-
QApplication:
- QApplication作为整个GUI应用的入口点,想必是完成各种初始化。即入口函数。
5 *args和**kwargs区别
都可以用于函数形参,只不过形参内容有所区别,其中*和**是不可以修改的,而args和kwargs则是可以随意修改。从下面可以看出*只能用于字符串,而**则可以用于元组。
def test_args(*args):
print(args)
def test_kwargs(**kwargs):
print(kwargs)
print(type(kwargs))
for key, value in kwargs.items():
print("{} == {}".format(key, value))
def test_all(*args,**kwargs):
print(args)
print(kwargs)
test_args('name','age','address','sex')
# ('name', 'age', 'address', 'sex')
test_kwargs(name='zxf',age=23,address='zhejiang')
# {'name': 'zxf', 'age': 23, 'address': 'zhejiang'}
# <class 'dict'>
# name == zxf
# age == 23
# address == zhejiang
test_all('name','age',name='zxf',age=23)
# ('name', 'age')
# {'name': 'zxf', 'age': 23}
注意:
1. 当要同时使用*args和**kwargs时,*args必须写在**kwargs之前