如何将QWidgets与菜单栏同步?

时间:2011-07-20 07:13:11

标签: c++ qt ubuntu qt-creator

我是Qt创作者的新手。我有一个3页的堆叠小部件。我还有一个菜单栏,其中包含:open \\ create。 QWidget包含2页。我想问一下如何将Open与第一页同步并从菜单栏创建第二页来自堆叠小部件?

我写了:ui->stackedWidget->show();但它打印第二页同时打开并创建。

需要一些帮助。

2 个答案:

答案 0 :(得分:0)

您必须在MainWindow类中声明两个插槽。例如:

class MainWindow : public QMainWindow
  {
  ...
public slots:
  void slotOpen() ;
  void slotCreate() ;
  ...
  } ;

然后,在您的MainWindow构造函数中(假设您的菜单操作为actionOpenactionCreate):

connect (ui -> actionOpen, SIGNAL(triggered()), SLOT(slotOpen())) ;
connect (ui -> actionCreate, SIGNAL(triggered()), SLOT(slotCreate())) ;

插槽功能:

void MainWindow::slotOpen()
  {
  ui -> stackedWidget -> setCurrentIndex(0) ;
  }

void MainWindow::slotCreate()
  {
  ui -> stackedWidget -> setCurrentIndex(1) ;
  }

答案 1 :(得分:-1)

您可以将菜单操作连接到QStackedWidget广告位setCurrentIndex。这将允许您在单击菜单时显示正确的小部件。