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

Posted

技术标签:

【中文标题】为啥我不能将 QTabWIdget::TabPosition 与 myTabWidget->tabPosition 进行比较?【英文标题】:Why can't I compare a QTabWIdget::TabPosition with myTabWidget->tabPosition?为什么我不能将 QTabWIdget::TabPosition 与 myTabWidget->tabPosition 进行比较? 【发布时间】:2014-07-25 11:51:34 【问题描述】:

我正在制作一个自定义标签栏,它位于自定义标签小部件中。我希望根据 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】:

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

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

【讨论】:

以上是关于为啥我不能将 QTabWIdget::TabPosition 与 myTabWidget->tabPosition 进行比较?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能将 ToUpper() 应用于 OwnerNode?

为啥我不能将常量数组作为参数传递?

为啥我不能将UTF写入RMS?

为啥我不能将异步查询移动到方法中?

为啥我不能将字符串添加到结构中?

为啥我不能以这种方式将数据添加到 Firebase?