QT常见概念-1

目录

文章目录

1.时间日期相关:

1.1 数据类型

1.2 相关组件    

2. listview和listwiget相关:

3.打包相关:

1.时间日期相关:

1.1 数据类型

  1. QTime:时间数据类型,表示时间,如:14:23:13。
  2. QDate:日期数据类型,表示日期,如:2020-4-5。
  3. QDateTime:日期时间数据类型,表示日期和时间,如:2020-03-23 08:12:43。

所以Time 就是时间;Date 就是日期;DateTime就是时间+日期

1.2 相关组件    

  1. QTimeEdit:编辑和显示时间的组件。
  2. QDateEdit:编辑和显示日期的组件。
  3. QDateTimeEdit:编辑和显示日期时间的组件。
  4. 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.打包相关:

  1. setup.py
    1. 假如我在本机开发一个程序,需要用到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. 常见函数:

  1. Event().accept和Event().ignore()

    1. 概念
      1. ignore 忽略本次处理,继续向上传递
      2. accept:表示事件已处理,不需要向父窗口传播
    2. 例如:
      1. 当事件被重写后,便不会向上传递,但这里使用ingore后,本次处理了,上级依然会被执行,也就是事件会向上传递。
        1.   def mousePressEvent(self, QMouseEvent):
                  print("标签控件鼠标按下")
                  QMouseEvent.ignore()   # 事件假装没有被处理,继续往上层传

  2. QApplication:

    1. 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之前

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气滴点C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值