Используя widgetHierarchy.py , вы можете узнать, что эти "ключевые" поля в ChannelBox являются частью QTableView и, следовательно, QStyledItemDelegates .
Боюсь, у меня нет личного опыта работы с ними, но после небольшой копки похоже, что эти QStyledItemDelegates - это то, что вы хотите смоделировать ваши элементы управления после. Посмотрите, что выводится при запросе к QStyledItemDelegates itemData ():
{0: u'Translate X', 2: u'Translate X', 3: u'Translate X', 6: <PySide2.QtGui.QFont( "smallPlainLabelFont,12,-1,5,50,0,0,0,0,0" ) at 0x7f8d2070ab48>, 7: 66, 8: <PySide2.QtGui.QBrush(QColor(ARGB 1, 0.266667, 0.266667, 0.266667),SolidPattern) at 0x7f8d2070ab00>, 9: <PySide2.QtGui.QBrush(QColor(ARGB 1, 0.733333, 0.733333, 0.733333),SolidPattern) at 0x7f8d2070ac68>}
{0: u'0 ', 2: u'0 ', 3: u'0 \n\nKeyed On Frame', 6: <PySide2.QtGui.QFont( "smallPlainLabelFont,12,-1,5,50,0,0,0,0,0" ) at 0x7f8d2070ac68>, 7: 65, 8: <PySide2.QtGui.QBrush(QColor(ARGB 1, 0.803922, 0.152941, 0.160784),SolidPattern) at 0x7f8d2070ab48>, 9: <PySide2.QtGui.QBrush(QColor(ARGB 1, 0, 0, 0.00784314),SolidPattern) at 0x7f8d2070a3f8>}
Первая строка представляет itemData для метки «Перевести X», а вторая - заполняет фактическое поле ввода И маркер «с ключом».