Пишу следующий код, который работает как надо. Проблема в том, что при выходе из программы глубоко в диструкторе QWidget'a вылетает с segmenatation fault :( Исходник создания диалога: void maskEdit::createKeyboard() { QPushButton* pb,*numbt[10] = {0}; QHBoxLayout* hbox; m_pKeyboard = new QFrame( this , "keyboard" , WType_Popup ); m_pKeyboard->setFrameStyle( QFrame::WinPanel | QFrame::Raised ); QVBoxLayout* vbox = new QVBoxLayout( m_pKeyboard , 3 ); vbox->setResizeMode( QLayout::Fixed ); // //line edit m_pEdit = new QLineEdit( m_pKeyboard ); vbox->addWidget( m_pEdit ); hbox = new QHBoxLayout(); hbox->setResizeMode( QLayout::Fixed ); //move keyb left m_btLeft = new QPushButton( "<<" , m_pKeyboard ); m_btLeft->setFixedWidth( 30 ); connect(m_btLeft , SIGNAL( clicked() ) , this , SLOT( OnLeft())); hbox->addWidget( m_btLeft ); //move keyb right m_btRight = new QPushButton( ">>" , m_pKeyboard ); m_btRight->setFixedWidth( 30 ); connect(m_btRight , SIGNAL( clicked() ) , this , SLOT( OnRight())); hbox->addWidget( m_btRight ); //clear button pb = new QPushButton( tr("Clear") , m_pKeyboard ); pb->setFixedWidth( 60 ); connect(pb , SIGNAL( clicked() ) , this , SLOT( OnClear())); hbox->addWidget( pb ); vbox->addLayout( hbox ); QString nm; for( int i =0 ; i< 10; i++ ) { if( !(i%4) ) { if( i ) vbox->addLayout( hbox ); hbox = new QHBoxLayout(); hbox->setResizeMode( QLayout::Fixed ); } nm.setNum( i == 9 ? 0: i + 1 ); numbt[i] = new QPushButton( nm , m_pKeyboard ); numbt[i]->setFixedWidth( 30 ); hbox->addWidget( numbt[i] ); } vbox->addLayout( hbox ); connect(numbt[0] , SIGNAL( clicked() ) , this , SLOT( OnBut1())); connect(numbt[1] , SIGNAL( clicked() ) , this , SLOT( OnBut2())); connect(numbt[2] , SIGNAL( clicked() ) , this , SLOT( OnBut3())); connect(numbt[3] , SIGNAL( clicked() ) , this , SLOT( OnBut4())); connect(numbt[4] , SIGNAL( clicked() ) , this , SLOT( OnBut5())); connect(numbt[5] , SIGNAL( clicked() ) , this , SLOT( OnBut6())); connect(numbt[6] , SIGNAL( clicked() ) , this , SLOT( OnBut7())); connect(numbt[7] , SIGNAL( clicked() ) , this , SLOT( OnBut8())); connect(numbt[8] , SIGNAL( clicked() ) , this , SLOT( OnBut9())); connect(numbt[9] , SIGNAL( clicked() ) , this , SLOT( OnBut0())); vbox->activate(); }
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Диалог авторизации (2013)
- Форум Qt: передать значение из QLineEdit в глобальную переменную (2012)
- Форум Object::connect: No such slot QLCDNumber::display(3) (2009)
- Форум Qt3:компоновка+QVLayout (2007)
- Форум [решено] QScrollArea не растягивает виждет внутри себя. А хочется. (2015)
- Форум Пара вопросов по C++ (2014)
- Форум проблема с Qt (2011)
- Форум Помигите с Qt4: Сигналы и Слоты (очень срочно) (2006)
- Форум QТелепатия :) (2013)
- Форум почему с QSqlRelationalTableModel данные не сохраняются? (2015)