crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Глюк в меню
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
NordWest Дата 4.2.2009, 13:15
  Ок, привожу весь код:
Раскрывающийся текст
 void MainWindow::setMenu()
 {
    //BEGIN menu "file"
    fileMenu = menuBar()->addMenu(tr("file"));// добавляем меню file
    //add action "open fits"
    openFitsAct = new QAction(tr("&open fits"), this);// добавляем "действие" open fits
    openFitsAct->setShortcut(tr("Ctrl+O"));//назначаем "горячую клавишу" Ctrl+O для действия open fits
    openFitsAct->setStatusTip(tr("open fits file"));// назначаем "подсказку"
    fileMenu->addAction(openFitsAct);
    connect(openFitsAct, SIGNAL(triggered()), this, SLOT(slotOpenFItsFile()));// назначаем слот, который будет выполняться при выборе данного пункта меню
    // остальные разделы меню и их "действия" (опции) добавляются по той же схеме, что и open fits
    viewFMAct = new QAction(tr("&File Manager"), this);//
    viewFMAct->setShortcut(tr("Ctrl+M"));
    fileMenu->addAction(viewFMAct);
    connect(viewFMAct, SIGNAL(triggered()), this, SLOT(slotFrameManagerAct()));
    //add action "exit"
    exitAct = new QAction(tr("&exit"), this);
    exitAct->setShortcut(tr("Ctrl+X"));
    exitAct->setStatusTip(tr("exit"));
    fileMenu->addAction(exitAct);
    connect(exitAct, SIGNAL(triggered()), this, SLOT(slotExit()));
    //END menu "file"

    /////////////////////////////////////////////////////////////////////////////////
    //BEGIN menu "view"
    viewMenu = menuBar()->addMenu(tr("view"));
    //add action "increase"
    incAct = new QAction(tr("&increase"), this);
    incAct->setShortcut(tr("Ctrl+="));
    incAct->setStatusTip(tr("increase"));
    viewMenu->addAction(incAct);
    connect(incAct, SIGNAL(triggered()), this, SLOT(slotIncrease()));
    //add action "decrease"
    decAct = new QAction(tr("&decrease"), this);
    decAct->setShortcut(tr("Ctrl+-"));
    decAct->setStatusTip(tr("decrease"));
    viewMenu->addAction(decAct);
    connect(decAct, SIGNAL(triggered()), this, SLOT(slotDecrease()));
    //add action "background left"
    backLeftAct = new QAction(tr("&background left"), this);
    backLeftAct->setShortcut(tr("Ctrl+F1"));
    backLeftAct->setStatusTip(tr("background left"));
    viewMenu->addAction(backLeftAct);
    connect(backLeftAct, SIGNAL(triggered()), this, SLOT(slotBackLeft()));
    //add action "background right"
    backRightAct = new QAction(tr("&background right"), this);
    backRightAct->setShortcut(tr("Ctrl+F2"));
    backRightAct->setStatusTip(tr("background right"));
    viewMenu->addAction(backRightAct);
    connect(backRightAct, SIGNAL(triggered()), this, SLOT(slotBackRight()));
    //add action "signal left"
    signalLeftAct = new QAction(tr("&signal left"), this);
    signalLeftAct->setShortcut(tr("Ctrl+F3"));
    signalLeftAct->setStatusTip(tr("signal left"));
    viewMenu->addAction(signalLeftAct);
    connect(signalLeftAct, SIGNAL(triggered()), this, SLOT(slotSignalLeft()));
    //add action "signal right"
    signalRightAct = new QAction(tr("&signal right"), this);
    signalRightAct->setShortcut(tr("Ctrl+F4"));
    signalRightAct->setStatusTip(tr("signal right"));
    viewMenu->addAction(signalRightAct);
    connect(signalRightAct, SIGNAL(triggered()), this, SLOT(slotSignalRight()));
    //add action "set default"
    setDefaultAct = new QAction(tr("&set default"), this);
    setDefaultAct->setShortcut(tr("Ctrl+F5"));
    setDefaultAct->setStatusTip(tr("set default"));
    viewMenu->addAction(setDefaultAct);
    connect(setDefaultAct, SIGNAL(triggered()), this, SLOT(slotSetDefault()));
    //add action "set full diapason"
    setFullDiapasonAct = new QAction(tr("&set full diapason"), this);
    setFullDiapasonAct->setShortcut(tr("Ctrl+F6"));
    setFullDiapasonAct->setStatusTip(tr("set full diapason"));
    viewMenu->addAction(setFullDiapasonAct);
    connect(setFullDiapasonAct, SIGNAL(triggered()), this, SLOT(slotSetFullDiapason()));
    //END menu "view"
    
    //////////////////////////////////////
    //BEGIN menu "frame"
    frameMenu = menuBar()->addMenu(tr("frame"));
    //add action "next"
    nextAct = new QAction(tr("&next"), this);
    nextAct->setShortcut(tr("Ctrl+."));
    nextAct->setStatusTip(tr("next"));
    frameMenu->addAction(nextAct);
    connect(nextAct, SIGNAL(triggered()), this, SLOT(slotNext()));
    //add action "previous"
    prevAct = new QAction(tr("&previous"), this);
    prevAct->setShortcut(tr("Ctrl+,"));
    prevAct->setStatusTip(tr("previous"));
    frameMenu->addAction(prevAct);
    connect(prevAct, SIGNAL(triggered()), this, SLOT(slotPreviouse()));
    //add action "delete"
    delAct = new QAction(tr("&delete"), this);
    delAct->setShortcut(tr("Ctrl+Delete"));
    delAct->setStatusTip(tr("delete"));
    frameMenu->addAction(delAct);
    connect(delAct, SIGNAL(triggered()), this, SLOT(slotDelete()));
    
    keyAct = new QAction(tr("&FITS header"), this);
    keyAct->setShortcut(tr("Ctrl+H"));
    keyAct->setStatusTip(tr("FITS header"));
    frameMenu->addAction(keyAct);
    connect(keyAct, SIGNAL(triggered()), this, SLOT(slotKeyAct()));
   
    //END menu "frame"

    // menu test
    toolMenu = menuBar()->addMenu(tr("Test"));
    //
    //test1 action
    test1Act = new QAction(tr("&Test1"), this);
    test1Act->setStatusTip(tr("Test1"));
    toolMenu->addAction(test1Act);
    connect(test1Act, SIGNAL(triggered()), this, SLOT(slotTest1()));
    //test2 action
    test2Act = new QAction(tr("&Test2"), this);
    test2Act->setStatusTip(tr("Test2"));
    toolMenu->addAction(test2Act);
    connect(test2Act, SIGNAL(triggered()), this, SLOT(slotTest2()));
    //propAct
    propAct = new QAction(tr("&properties panel"), this);
 //   propAct->setShortcut(tr("Ctrl+P"));
    propAct->setStatusTip(tr("properties panel"));
    toolMenu->addAction(propAct);
    connect(propAct, SIGNAL(triggered()), this, SLOT(slotPropAct()));
    //marksAct
    marksAct = new QAction(tr("&marks panel"), this);
//    marksAct->setShortcut(tr("F10"));
    marksAct->setStatusTip(tr("properties panel"));
    toolMenu->addAction(marksAct);
    connect(marksAct, SIGNAL(triggered()), this, SLOT(slotMarksAct()));
     
///////////////////////////////
    
 }


trdm Дата 4.2.2009, 13:03
  ну, обрывок наверное мало поможет.
NordWest Дата 4.2.2009, 12:35
  Глюк такой вышел в программе. По началу меню работало исправно, но с какого-то момента, возможно после создания очередного раздела (кнопки), все кнопки кроме последней перестали реагировать на прикосновения мыши. Даже наведение указателя на пункт не приводил к выделению кнопки.
Теперь, чтобы войти в неактивные разделы, можно только открыв щелчком последнее меню и переведя мышь на предыдущие. при такой манипуляции всё работает.

Вот код, который меню создает:
fileMenu = menuBar()->addMenu(tr("file"));
viewMenu = menuBar()->addMenu(tr("view"));
frameMenu = menuBar()->addMenu(tr("frame"));
toolMenu = menuBar()->addMenu(tr("Test"));


Это без содержимого. Могу полное содержимое предоставить, если поможет...
Пробовал отключать часть меню или все - не помогает.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 4:22