点击鼠标时QTabWidget奇怪的行为

时间:2016-03-10 13:24:34

标签: c++ qt tabs

我有一个非常不稳定的行为,QTabWidget与鼠标交互。 它是一个主窗口,它使用QTabWidget作为中心窗口小部件,并且选项卡是动态创建的。

这里是主窗口的构造函数:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
  this->mainTab = new QTabWidget;
  this->mainTab->setObjectName(QStringLiteral("MainTab"));
  this->mainTab->setMovable(true);
  this->mainTab->setTabsClosable(true);

  this->setCentralWidget(this->mainTab);
}

添加标签的功能:

void newTab(QString name)
{
  QString id = randomid;
  WidgetMapManager * newmanager = new WidgetMapManager(id, name);

  this->mainTab->addTab(newmanager,name);
  this->mainTab->setCurrentIndex(this->mainTab->count()-1);
}

这种行为很难解释。就好像在标签中接收click事件的rect是不合适的。最初看起来好像他们根本没有收到点击,但经过大量测试后,似乎有些标签可以点击右侧标签的某个小部分,其他标签根本无法点击,最后一个标签可以随时点击。

正如您在代码中看到的那样,可以移动选项卡;实际上,只有最后一个选项卡可以移动,然后可以选择并移动新选项卡成为最后一个选项卡。好像每次添加一个标签时,可点击的矩形都会向右移动,左边的标签就完全在它们之外。

放置在标签中的小部件没有任何区别;我试过不同的。还尝试使标签不可移动而不能关闭......

我在QT Creator中使用QT 5.5和MSVC 12编译器编写32位应用程序。 由于我的想法不足,所以对此有任何启发。

0 个答案:

没有答案