PyQt5-如何用控件判定对控件类型进行过滤操作

 时间:2026-02-13 17:57:12

1、obj.isWidgetType() 判断对象是否是一个控件,返回布尔值。

如果是控件返回True。否则返回False。

PyQt5-如何用控件判定对控件类型进行过滤操作

2、obj.inherits('classname')判断obj是否直接继承参数提供的类。

如果是返回True。否则返回False。

PyQt5-如何用控件判定对控件类型进行过滤操作

1、如果一个交互界面有很多类型,很多种控件,这时如果要对某类控件进行单独的改变,就可以利用继承关系来进行过滤。举个例子:

首先建立一个窗口框架。

PyQt5-如何用控件判定对控件类型进行过滤操作

2、给窗口添加若干组件,并设置必要的属性。

PyQt5-如何用控件判定对控件类型进行过滤操作

3、获取父控件下的所有子类:

使用self.children()函数,返回一个子控件的列表。

self是父控件对象。

需要注意的是childern()函数只查找下一层子对象。

PyQt5-如何用控件判定对控件类型进行过滤操作

4、利用obj.inherits('classname')函数来过滤想要的控件类型,并设置样式:

例如:

for x in self.children():


   if x.inherits('QPushButton'):
       x.setStyleSheet('background-color:cyan')
   elif x.inherits('QLineEdit'):
       x.setStyleSheet('background-color:white')

PyQt5-如何用控件判定对控件类型进行过滤操作

5、查找子层还可以用findChildren(指定控件类)函数,查找子控件对象,再用inherits()函数过滤。

例如:

qlist=self.findChildren((QPushButton,QLineEdit))


for x in qlist:
   if x.inherits('QPushButton'):
       x.setStyleSheet('background-color:yellow')
   elif x.inherits('QLineEdit'):
       x.setStyleSheet('background-color:cyan')

PyQt5-如何用控件判定对控件类型进行过滤操作

1、以上是简单的例子,只为说明问题。

利用父子继承关系,经过判断,赛选出需要的控件,为其添加样式。

  • vb设置CAD文字字体
  • 完美解决 python2.7 unicode 中文处理问题
  • struts2.3.32升级方法
  • .Net/C#调用matlab生成动态曲线图
  • c# socket教程
  • 热门搜索
    紫苏油的功效与作用 老鹳草的功效与作用 决明子的作用 茉莉花茶的作用 枸杞的作用与功效 beast什么意思 氮肥的作用 石榴皮的作用 高三物理知识点总结 绞股蓝的作用