我已经实现了一个基于OSGQt的模型查看器。我目前正试图通过将子QFrame中的属性更改为基于主MainWindow的查看器框架来重新定位子模型。子框架是非模态的,并且关键事件将被传递到MainWindow中基于OSG Viewer的处理程序而不是子窗口。
子窗口保持键盘焦点的适当属性是什么,并允许在QTreeWidgetItem列的基于QLineEdit的修饰符中键入新值。
答案 0 :(得分:0)
我已经使用自定义ItemDelegate实现了一个有效的解决方案,如下所示。
class DoublePositionEditDelegate: public QStyledItemDelegate {
public:
DoublePositionEditDelegate(QObject* parent=0): QStyledItemDelegate(parent) {}
virtual QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const {
QDoubleSpinBox* dspinbox = new QDoubleSpinBox(parent);
dspinbox->setMaximum(1000000.0);
dspinbox->setMinimum(-1000000.0);
dspinbox->grabKeyboard();
return dspinbox;
}
};
仍然欢迎更优雅/更好的解决方案。