为什么我不能将QTabWIdget :: TabPosition与myTabWidget-> tabPosition进行比较?

时间:2014-07-25 11:51:34

标签: qt qtabwidget qtabbar

我正在创建一个自定义标签栏,它位于自定义标签窗口小部件中。我希望根据QTabPosition采取某些行动。因此,我有以下代码:

// get the parent tab widget
QTabWidget* pTabWidget = dynamic_cast<QTabWidget*>(parent());

QTabWidget::TabPosition tabpos = pTabWidget->tabPosition;

但是,这会导致编译器错误:

src/m-editor/octave-editor-tabbar.cc: In member function 'virtual void octave_editor_tabbar::paintEvent(QPaintEvent*)':
src/m-editor/octave-editor-tabbar.cc:69:50: error: cannot convert 'QTabWidget::tabPosition' from type 'QTabWidget::TabPosition (QTabWidget::)()const' to type 'QTabWidget::TabPosition'
 QTabWidget::TabPosition tabpos = pTabWidget->tabPosition;
                                              ^

父窗口小部件是从QTabWidget派生的自定义窗口小部件。

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

QTabWidget::tabPosition是一个带有getter(QTabWidget::tabPosition())和setter(QTabWidget::setTabPosition())的属性,您需要调用 getter方法才能读取它:

QTabWidget::TabPosition tabpos = pTabWidget->tabPosition();
                                                        ^^