本文整理汇总了C++中QDialog::setModal方法的典型用法代码示例。如果您正苦于以下问题:C++ QDialog::setModal方法的具体用法?C++ QDialog::setModal怎么用?C++ QDialog::setModal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDialog
的用法示例。
在下文中一共展示了QDialog::setModal方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: configureKaffeine
void MainWindow::configureKaffeine()
{
QDialog *dialog = new ConfigurationDialog(this);
dialog->setAttribute(Qt::WA_DeleteOnClose, true);
dialog->setModal(true);
dialog->show();
}
示例2: addView
void addView()
{
// the new View we want to add:
osgViewer::View* view = new osgViewer::View();
// a widget to hold our view:
QWidget* viewWidget = new osgEarth::QtGui::ViewWidget(view);
// a dialog to hold the view widget:
QDialog* win = new QDialog(this);
win->setModal( false );
win->setLayout( new QHBoxLayout() );
win->layout()->addWidget( viewWidget );
int x = osgEarth::Random().next( 1024 );
int y = osgEarth::Random().next( 768 );
win->setGeometry( x, y, 640, 480 );
win->show();
// set up the view
view->setCameraManipulator( new osgEarth::Util::EarthManipulator );
view->setSceneData( _scene.get() );
view->getDatabasePager()->setUnrefImageDataAfterApplyPolicy(true,false);
// add it to the composite viewer.
_viewer.addView( view );
}
示例3: modifSommetForme
void Fenetre::modifSommetForme(Sommet *sommet)
{
//Création d'une boîte de dialogue
QDialog fenDiag;
//Boutons OK et Annuler
QHBoxLayout *layoutButton=new QHBoxLayout;
QPushButton *okFenDiag=new QPushButton("&OK");
QPushButton *cancFenDiag=new QPushButton("&Annuler");
layoutButton->addWidget(okFenDiag);
layoutButton->addWidget(cancFenDiag);
connect(okFenDiag, SIGNAL(clicked()), &fenDiag, SLOT(accept()));
connect(cancFenDiag, SIGNAL(clicked()), &fenDiag, SLOT(reject()));
//Champ pour choisir la forme
QComboBox *boxFormes=new QComboBox;
boxFormes->addItems(graphe.getListeForme());
//Ajout de tout ça à la fenêtre de dialogue
QVBoxLayout *layoutFenetre=new QVBoxLayout;
layoutFenetre->addWidget(boxFormes);
layoutFenetre->addLayout(layoutButton);
fenDiag.setLayout(layoutFenetre);
//On affiche la fenêtre
fenDiag.setVisible(true);
fenDiag.setModal(true);
//On traîte la demande
if(fenDiag.exec()){ //Si on a cliqué sur ok !
QString currentText=boxFormes->currentText();
sommet->setForme(currentText);
}
}
示例4: Busqueda_on_mui_buscar_clicked
int Busqueda_on_mui_buscar_clicked ( BlSearchWidget *busq )
{
if ( busq->tableName() == "cliente" ) {
QDialog *diag = new QDialog ( 0 );
diag->setModal ( true );
diag->setGeometry ( QRect ( 0, 0, 750, 550 ) );
blCenterOnScreen ( diag );
ClientsList *clients = new ClientsList ( ( BfCompany * ) busq->mainCompany(), diag, 0, BL_SELECT_MODE );
busq->connect ( clients, SIGNAL ( selected ( QString ) ), diag, SLOT ( accept() ) );
/// Creamos un layout donde estara el contenido de la ventana y la ajustamos al QDialog
/// para que sea redimensionable y aparezca el titulo de la ventana.
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget ( clients );
layout->setMargin ( 0 );
layout->setSpacing ( 0 );
diag->setLayout ( layout );
diag->setWindowTitle ( clients->windowTitle() );
diag->exec();
if ( clients->idclient() != "" ) {
busq->setId ( clients->idclient() );
} // end if
delete diag;
return 1;
} // end if
return 0;
}
示例5: about
void RbUtilQt::about()
{
QDialog *window = new QDialog(this);
Ui::aboutBox about;
about.setupUi(window);
window->setLayoutDirection(Qt::LeftToRight);
window->setModal(true);
QFile licence(":/docs/gpl-2.0.html");
licence.open(QIODevice::ReadOnly);
QTextStream c(&licence);
QString cline = c.readAll();
about.browserLicense->insertHtml(cline);
about.browserLicense->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor);
QFile credits(":/docs/CREDITS");
credits.open(QIODevice::ReadOnly);
QTextStream r(&credits);
r.setCodec(QTextCodec::codecForName("UTF-8"));
QString rline = r.readAll();
about.browserCredits->insertPlainText(rline);
about.browserCredits->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor);
QString title = QString("<b>The Rockbox Utility</b><br/>Version %1").arg(FULLVERSION);
about.labelTitle->setText(title);
window->show();
}
示例6: getReferencedSelection
void getReferencedSelection(const App::DocumentObject* thisObj, const Gui::SelectionChanges& msg,
App::DocumentObject*& selObj, std::vector<std::string>& selSub)
{
if (!thisObj)
return;
if (strcmp(thisObj->getDocument()->getName(), msg.pDocName) != 0)
return;
selObj = thisObj->getDocument()->getObject(msg.pObjectName);
if (selObj == thisObj)
return;
std::string subname = msg.pSubName;
//check if the selection is an external reference and ask the user what to do
//of course only if thisObj is in a body, as otherwise the old workflow would not
//be supportet
PartDesign::Body* body = PartDesignGui::getBodyFor(thisObj, false);
bool originfeature = selObj->isDerivedFrom(App::OriginFeature::getClassTypeId());
if(!originfeature && body) {
PartDesign::Body* selBody = PartDesignGui::getBodyFor(selObj, false);
if(!selBody || body != selBody) {
auto* pcActivePart = PartDesignGui::getPartFor(body, false);
QDialog* dia = new QDialog;
Ui_Dialog dlg;
dlg.setupUi(dia);
dia->setModal(true);
int result = dia->exec();
if(result == QDialog::DialogCode::Rejected) {
selObj = NULL;
return;
}
else if(!dlg.radioXRef->isChecked()) {
auto copy = PartDesignGui::TaskFeaturePick::makeCopy(selObj, subname, dlg.radioIndependent->isChecked());
if(selBody)
body->addObject(copy);
else
pcActivePart->addObject(copy);
selObj = copy;
subname.erase(std::remove_if(subname.begin(), subname.end(), &isdigit), subname.end());
subname.append("1");
}
}
}
// Remove subname for planes and datum features
if (PartDesign::Feature::isDatum(selObj)) {
subname = "";
}
selSub = std::vector<std::string>(1,subname);
}
示例7: doFileLocations
void MainWindow::doFileLocations()
{
QDialog *dialog = new FileLocationsWidget(0);
dialog->setModal(true);
dialog->show();
// if (!fileLocationsSubWindow)
// fileLocationsSubWindow = new FileLocationsSubWindow(_mdiArea);
// fileLocationsSubWindow->adjustSize();
// fileLocationsSubWindow->show();
}
示例8: layout
bool Settings::layout(QWidget* w)
{
if(!w || w->objectName().isEmpty())
{
return false;
}
beginGroup("Geometry");
QList<int> values;
bool valid = list(w->objectName(), values, 5);
if(valid) // Enough values
{
int x = values[0];
x &= ~0xC0000000;
if (values[0] & 0x80000000) w->setWindowState(Qt::WindowMaximized);
else if (values[0] & 0x40000000) w->setWindowState(Qt::WindowFullScreen);
else
{
w->resize(values[2], values[3]);
w->move(x, values[1]);
}
QSplitter* s = qobject_cast<QSplitter*>(w);
if (s)
{
QByteArray splits = value("Splitter", QByteArray()).toByteArray();
if (splits.size())
{
s->restoreState(splits);
}
}
else
{
QMainWindow* m = qobject_cast<QMainWindow*>(w);
if(m)
{
QByteArray docks = value("Docks", QByteArray()).toByteArray();
if(docks.count())
{
m->restoreState(docks, 0);
}
}
else
{
if(values[4])
{
QDialog* d = qobject_cast<QDialog*>(w);
if (d) d->setModal(true);
w->show();
}
}
}
}
endGroup();
return valid;
}
示例9: doToolsTreeView
void MainWindow::doToolsTreeView() {
QDialog *dialog;
try {
dialog = new TreeViewWidget(0);
dialog->setModal(true);
dialog->show();
}
catch (UniSim::Exception &ex) {
showErrorMessage(ex);
}
}
示例10: drv_dialog
int drv_dialog(int drvid, void *a0, void* a1, void* a2, void* a3, void* a4, void* a5, void* a6, void* a7, void* a8, void* a9)
{
handle_head* head = (handle_head*)a0;
QDialog *self = (QDialog*)head->native;
switch (drvid) {
case DIALOG_INIT: {
drvNewObj(a0,new QDialog);
break;
}
case DIALOG_SETMODAL: {
self->setModal(drvGetBool(a1));
break;
}
case DIALOG_ISMODAL: {
drvSetBool(a1,self->isModal());
break;
}
case DIALOG_SETRESULT: {
self->setResult(drvGetInt(a1));
break;
}
case DIALOG_RESULT: {
drvSetInt(a1,self->result());
break;
}
case DIALOG_EXEC: {
drvSetInt(a1,self->exec());
break;
}
case DIALOG_DONE: {
self->done(drvGetInt(a1));
break;
}
case DIALOG_ACCEPT: {
self->accept();
break;
}
case DIALOG_REJECT: {
self->reject();
break;
}
case DIALOG_ONACCEPTED: {
QObject::connect(self,SIGNAL(acceped()),drvNewSignal(self,a1,a2),SLOT(call()));
break;
}
case DIALOG_ONREJECTED: {
QObject::connect(self,SIGNAL(rejected()),drvNewSignal(self,a1,a2),SLOT(call()));
break;
}
default:
return 0;
}
return 1;
}
示例11: QDockWidget
QMathMLFileViewer::QMathMLFileViewer( QWidget *parent )
: QDockWidget( tr("MathML Documents Explorer"), parent )
{
m_iconSize = QSize(16, 16);
m_isRecursiveSearch = true;
m_currentDir.setPath( QDir::currentPath() );
directoryComboBox = createComboBox( m_currentDir.absolutePath() );
directoryComboBox->setMinimumWidth(150);
QDirModel *dirModelCompleter = new QDirModel(this);
dirModelCompleter->setFilter( QDir::AllDirs/*QDir::Dirs*/ );
QCompleter *completer = new QCompleter( this );
completer->setModel( dirModelCompleter );
directoryComboBox->setCompleter( completer );
connect(directoryComboBox, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(changeDir(const QString&)));
QToolButton *btnBrowse = new QToolButton();
btnBrowse->setIcon(QIcon(":/images/folderopen.png"));
//btnBrowse->setIconSize( m_iconSize );
btnBrowse->setToolTip(tr("Select a new folder"));
connect(btnBrowse, SIGNAL(clicked()), this, SLOT(browse()));
QToolButton *btnBrowseUp = new QToolButton();
btnBrowseUp->setIcon(QIcon(":/images/up.png"));
//btnBrowseUp->setIconSize( m_iconSize );
btnBrowseUp->setToolTip(tr("Navagate one level up"));
connect(btnBrowseUp, SIGNAL(clicked()), this, SLOT(browseUp()));
QHBoxLayout *dirLayout = new QHBoxLayout();
dirLayout->addWidget(directoryComboBox);
dirLayout->addWidget(btnBrowseUp);
dirLayout->addWidget(btnBrowse);
dirLayout->addStretch(1);
createFilesTree();
createFilesTable();
foundMessage = new QLabel(tr("No search results"));
QHBoxLayout *toolLayout = setupToolLayout();
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addLayout(toolLayout);
mainLayout->addLayout(dirLayout);
mainLayout->addWidget(m_dirTree);
mainLayout->addWidget(filesTable);
mainLayout->addWidget(foundMessage);
QDialog *centralDlg = new QDialog();
centralDlg->setModal( false );
centralDlg->setLayout( mainLayout );
setWidget( centralDlg );
}
示例12: wait_for_subtitle_renderer
int64_t video_output_qt::wait_for_subtitle_renderer()
{
if (_subtitle_renderer.is_initialized())
{
return 0;
}
int64_t wait_start = timer::get_microseconds(timer::monotonic);
exc init_exception;
QDialog *mbox = NULL;
// Show a dialog only in GUI mode
if (_container_is_external && !dispatch::parameters().fullscreen())
{
mbox = new QDialog(_container_widget);
mbox->setModal(true);
mbox->setWindowTitle(_("Please wait"));
QGridLayout *mbox_layout = new QGridLayout;
QLabel *mbox_label = new QLabel(_("Waiting for subtitle renderer initialization..."));
mbox_layout->addWidget(mbox_label, 0, 0);
mbox->setLayout(mbox_layout);
mbox->show();
}
else
{
msg::wrn(_("Waiting for subtitle renderer initialization..."));
}
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
try
{
while (!_subtitle_renderer.is_initialized())
{
process_events();
usleep(10000);
}
}
catch (std::exception &e)
{
init_exception = e;
}
QApplication::restoreOverrideCursor();
if (mbox)
{
mbox->hide();
delete mbox;
}
if (!init_exception.empty())
{
throw init_exception;
}
int64_t wait_stop = timer::get_microseconds(timer::monotonic);
return (wait_stop - wait_start);
}
示例13: SlotOkButtonClicked
void InstallDialog::SlotOkButtonClicked()
{
Action installAction("org.kde.kcontrol.kcmgrub2.install");
installAction.setHelperId("org.kde.kcontrol.kcmgrub2");
for (int i = 0; i < ui->treeWidget_recover->topLevelItemCount(); i++) {
QRadioButton *radio = qobject_cast<QRadioButton *>(ui->treeWidget_recover->itemWidget(ui->treeWidget_recover->topLevelItem(i), 0));
if (radio && radio->isChecked()) {
installAction.addArgument("partition", ui->treeWidget_recover->topLevelItem(i)->text(1));
installAction.addArgument("mountPoint", ui->treeWidget_recover->topLevelItem(i)->text(2));
installAction.addArgument("mbrInstall", !ui->checkBox_partition->isChecked());
break;
}
}
if (installAction.arguments().value("partition").toString().isEmpty()) {
KMessageBox::sorry(this, i18nc("@info", "Sorry, you have to select a partition with a proper name!"));
return;
}
QProgressDialog progressDlg(this, Qt::Dialog);
progressDlg.setWindowTitle(i18nc("@title:window", "Installing"));
progressDlg.setLabelText(i18nc("@info:progress", "Installing GRUB..."));
progressDlg.setCancelButton(0);
progressDlg.setModal(true);
progressDlg.setRange(0,0);
progressDlg.show();
ExecuteJob* reply = installAction.execute();
reply->exec();
if (reply->action().status() != Action::AuthorizedStatus ) {
progressDlg.hide();
return;
}
//connect(reply, SIGNAL(result()), &progressDlg, SLOT(hide()));
progressDlg.hide();
if (reply->error()) {
KMessageBox::detailedError(this, i18nc("@info", "Failed to install GRUB."), reply->data().value("errorDescription").toString());
this->reject();
} else {
progressDlg.hide();
QDialog *dialog = new QDialog(this, Qt::Dialog);
dialog->setWindowTitle(i18nc("@title:window", "Information"));
dialog->setModal(true);
QDialogButtonBox *btnbox = new QDialogButtonBox(QDialogButtonBox::Ok);
KMessageBox::createKMessageBox(dialog, btnbox, QMessageBox::Information, i18nc("@info", "Successfully installed GRUB."), QStringList(), QString(), 0, KMessageBox::Notify, reply->data().value("output").toString()); // krazy:exclude=qclasses
this->accept();
}
//this->accept();
}
示例14: mousePressEvent
void MenuButton::mousePressEvent ( QGraphicsSceneMouseEvent * event ) {
QGraphicsItem::mousePressEvent(event);
if(event->button() != Qt::LeftButton) return;
if(currentMenu) {
currentMenu->setFocus(); //BUG: doesnt seem to work
return;
}
QDialog *menu = new QDialog(panelWindow);
menu->move(event->screenPos().x(), event->screenPos().y());
QVBoxLayout *layout = new QVBoxLayout();
QCheckBox *editModeCheck = new QCheckBox("Edit Panel", menu);
editModeCheck->setChecked(editMode);
connect(editModeCheck, SIGNAL(clicked(bool)), panelWindow, SLOT(setEditMode(bool)));
connect(editModeCheck, SIGNAL(clicked(bool)), this, SLOT(setEditMode(bool)));
layout->addWidget(editModeCheck);
QPushButton *addButton = new QPushButton("Add Item", menu);
connect(addButton, SIGNAL(clicked()), panelWindow, SLOT(addItem()));
layout->addWidget(addButton);
QPushButton *saveButton = new QPushButton("Save panel", menu);
connect(saveButton, SIGNAL(clicked()), panelWindow, SLOT(savePanel()));
layout->addWidget(saveButton);
QPushButton *loadButton = new QPushButton("Load panel", menu);
connect(loadButton, SIGNAL(clicked()), panelWindow, SLOT(loadPanel()));
layout->addWidget(loadButton);
QPushButton *settingsButton = new QPushButton("App Settings", menu);
connect(settingsButton, SIGNAL(clicked()), panelWindow, SLOT(showSettings()));
connect(settingsButton, SIGNAL(clicked()), this, SLOT(closeCurrentMenu()));
layout->addWidget(settingsButton);
QPushButton *closeButton = new QPushButton("Close", menu);
connect(closeButton, SIGNAL(clicked()), this, SLOT(closeCurrentMenu()));
layout->addWidget(closeButton);
QPushButton *quitButton = new QPushButton("Quit", menu);
connect(quitButton, SIGNAL(clicked()), panelWindow, SLOT(quit()));
layout->addWidget(quitButton);
currentMenu = menu;
connect(currentMenu, SIGNAL(finished(int)), this, SLOT(closeCurrentMenu()));
menu->setLayout(layout);
menu->setModal(false);
menu->show();
}
示例15: progressDialog
void ImageViewer::progressDialog() {
QDialog *dialog = new QDialog(this);
dialog->setModal(false);
dialog->setFixedSize(QSize(700, 400));
QGridLayout *dialogLayout = new QGridLayout(dialog);
dialogLayout->setAlignment(Qt::AlignCenter);
dialogLayout->addWidget(new QLabel("Generating Thumbnail", dialog));
QProgressBar *progress = new QProgressBar(dialog);
progress->setMaximum(100);
progress->setValue(0);
connect(this, SIGNAL(setProgress(int)), progress, SLOT(setValue(int)));
dialogLayout->addWidget(progress);
dialog->setLayout(dialogLayout);
dialog->show();
}