Как синхронизировать QWidgets со строкой меню? - PullRequest
0 голосов
/ 20 июля 2011

Я новичок в Qt создателе. У меня есть сложенный виджет с 3 страницами. У меня также есть строка меню, которая содержит: open \\ create. QWidget содержит 2 страницы. Я хотел бы спросить, как я могу синхронизировать Открыть с первой страницей и создать из строки меню со второй страницей из сложенного виджета?

Я написал: ui->stackedWidget->show();, но он печатает вторую страницу, чтобы открыть и создать.

Нужна помощь.

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

Вы должны объявить два слота в вашем классе MainWindow.Например:

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

Затем в конструкторе MainWindow (при условии, что ваши действия в меню actionOpen и actionCreate):

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) ;
  }
0 голосов
/ 20 июля 2011

Вы можете подключить действия меню к QStackedWidget Слоту setCurrentIndex.Это позволит вам отображать правильный виджет при нажатии на меню.

...