我正在使用PyGObject组装GUI.这个Python代码在上下文中工作.我得到一个带有"打开"图标的工具栏按钮.
from gi.repository import Gtk
# ...
toolbar = Gtk.Toolbar()
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)
# ...
self.fileOpen = Gtk.ToolButton.new_from_stock(Gtk.STOCK_OPEN)
self.fileOpen.connect("clicked", self.on_FileOpenStandard_activate)
toolbar.insert(self.fileOpen, -1)
Run Code Online (Sandbox Code Playgroud)
但根据此资源,new_from_stock()已弃用:
因为3.10版本不推荐使用:使用
Gtk.ToolButton.new ()连同Gtk.Image.new_from_icon_name ()代替.
好吧.所以在进一步挖掘之后,这就是我想要替换的:
self.fileOpen = Gtk.ToolButton(
Gtk.Image.new_from_icon_name("document-open",
Gtk.IconSize.LARGE_TOOLBAR),
"Open")
self.fileOpen.connect("clicked", self.on_FileOpenStandard_activate)
toolbar.insert(self.fileOpen, -1)
Run Code Online (Sandbox Code Playgroud)
但这是结果:
当前GTK库仍然支持的正确方法是什么?
我正在尝试按照程序员的方式将HP Unified Functional Testing中的测试放在一起.对于那些不知道的人,该工具使用VBScript作为其驱动程序.
因为我想在多个UFT操作中使用来自相同DataTable的数据 - 并且因为Global表上已经有一组不同的数据 - 我想从外部文件中检索数据.UFT很乐意支持这个功能.
我目前的计划是,根据我正在运行的测试,我将遍历该表中的一系列行.
这是我提出的脚本:
' targets the local sheet, but
' not the same value as dtLocalSheet
Const sheetNum = 2
dim sheetRowCount
DataTable.ImportSheet "PersonFile.xlsx", 1, sheetNum
sheetRowCount = DataTable.GetSheet(sheetNum).GetRowCount
dim firstRow, lastRow
firstRow = Parameter("FirstPersonIndex")
lastRow = Parameter("LastPersonIndex")
If sheetRowCount < lastRow Then
lastRow = sheetRowCount
End If
If sheetRowCount >= firstRow Then
Dim i
For i = firstRow To lastRow
DataTable.SetCurrentRow i
' begin payload
MsgBox(DataTable.Value("LastName", dtLocalSheet))
' end payload
Next …Run Code Online (Sandbox Code Playgroud) 假设有一个对象IEnumerable<IEnumerable<T>>,从这个对象获取不同T列表的最简洁方法是什么?
示例代码:
var listOfLists = new List<List<string>>();
listOfLists.Add(new string[] {"a", "b", "c", "c"}.ToList());
listOfLists.Add(new string[] {"a", "f", "g", "h"}.ToList());
listOfLists.Add(new string[] {"j", "k", "l"}.ToList());
List<string> distinctList = listOfLists.MagicCombinationOfEnumerableMethods();
Console.WriteLine(string.Join(", ", distinctList));
Run Code Online (Sandbox Code Playgroud)
输出将是这样的:
a, b, c, f, g, h, j, k, l
Run Code Online (Sandbox Code Playgroud)