遍历每个组合框(我有四个)并获取其文本的最佳解决方案是什么?
某些文档(通过 c#)说要创建一个组合框列表,但我不确定如何通过 .NET Framework 将其移植到 Pyhton。我所做的一切似乎都会产生一些错误。
我可以遍历所有控件,但研究表明它没有必要并且会消耗 CPU 时间。
综上所述,这是我迄今为止所做的但没有成功的事情。我已经去掉了代码的其他部分,只关注这个:
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")
clr.AddReference("System.Data")
clr.AddReference("System.Globalization")
clr.AddReference("System.Collections")
from System.Windows.Forms import *
from System.Drawing import *
from System.Data import *
from System.Data.SqlClient import *
from System.Globalization import *
from System.Collection.Generics import *
def FindPopulatedDropDowns():
# https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=net-5.0
Items = List[string]()
comboBoxes = OfType[ComboBox]().Where(x in x.Name.StartsWith('comboBox'))
for cmb in comboBoxes:
for cmbitem in cmb.Items:
print(cmbitem.ToString())
有人对如何实现这一目标有任何想法吗?
答案 0 :(得分:0)
这是我的解决方案。我相信有更优雅的方法,但这适合我的需要。
def FindPopulatedDropDowns(self):
# https://docs.microsoft.com/en-us/dotnet/api/system.object.gettype?view=net-5.0#System_Object_GetType
for c in self.Controls:
if c.GetType() == ComboBox:
print(c.Text)