및 일부 버튼이 포함 된 QDialog
기반 클래스가 있습니다. 그것은 QGraphicsScene
에서 컨텍스트 메뉴 이벤트를 호출 나는 다음과 같이 행동하고 싶은 :QLineEdit에서 QDialog에서 자동 포커스 메인 윈도우에서 팝업 플래그 및 양식으로
- 자동 초점을
QLineEdit
에 호출 할 때 (ui->lineEdit->setFocus()
는 생성자에 존재) - 없음 작업 표시 줄 아이콘없고
Qt::Popup
플래그로 어떤 프레임 ()parent=0
이 parent = 0
사용을위한로 메인 창을 통해
Qt::Popup
은 프레임과 작업 표시 줄 아이콘을 모두 제거하지만 lineEdit
및 모달리티에 초점을 맞 춥니 다.
나는 그것이 다른 WindowFlags
등 주요 문제의 적절한 조합을 찾기 위해 노력을 통해 시간을 많이했습니다 나는 어떤 제안을위한 감사합니다는 것 같다 그 어떤 WindowFlag
이 적용됩니다 또는 parent
위젯은 lineEdit
에 초점을 정의 할 때 완전히 잃어버린 것입니다.
void GraphicsScene::resolveContextMenuAction_(QAction *action)
{
if(action == this->contextMenuEventOpenDialog_)
{
TestDialog* DWD = new TestDialog(0);
//this->DWD->setWindowFlags(Qt::Popup)
int result = DWD->exec();
...
}
}
생성자 :
TestDialog::TestDialog(QWidget *parent) : QDialog(parent), ui(new Ui::TestDialog)
{
this->ui->lineEdit->setFocus();
}
은 또한 초점 탭 순서 lineEdit
먼저 하나되도록 조정 하였다. 최악의 경우 언급 된 다른 기능이있는 경우에만 Qt::Popup
과 같은 양식을 허용하지 않습니다. OS 의존적 인 경우 - 우분투 12.04를 사용하고 있습니다.