本文整理汇总了C++中QAction::setSoftKeyRole方法的典型用法代码示例。如果您正苦于以下问题:C++ QAction::setSoftKeyRole方法的具体用法?C++ QAction::setSoftKeyRole怎么用?C++ QAction::setSoftKeyRole使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QAction
的用法示例。
在下文中一共展示了QAction::setSoftKeyRole方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QListWidget
EditCalendarsPage::EditCalendarsPage(QWidget *parent)
:QWidget(parent),
m_manager(0)
{
m_calendarList = new QListWidget(this);
connect(m_calendarList, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(itemDoubleClicked(QListWidgetItem *)));
#ifndef Q_OS_SYMBIAN
// Add push buttons for non-Symbian platforms as they do not support soft keys
QHBoxLayout* hbLayout = new QHBoxLayout();
QPushButton *addButton = new QPushButton("Add new", this);
connect(addButton,SIGNAL(clicked()), this, SIGNAL(addClicked()));
hbLayout->addWidget(addButton);
QPushButton *editButton = new QPushButton("Edit", this);
connect(editButton,SIGNAL(clicked()),this,SLOT(editClicked()));
hbLayout->addWidget(editButton);
QPushButton *deleteButton = new QPushButton("Delete", this);
connect(deleteButton,SIGNAL(clicked()),this,SLOT(deleteClicked()));
hbLayout->addWidget(deleteButton);
QPushButton *backButton = new QPushButton("Back", this);
connect(backButton,SIGNAL(clicked()),this,SLOT(backClicked()));
hbLayout->addWidget(backButton);
#endif
QVBoxLayout *scrollAreaLayout = new QVBoxLayout();
scrollAreaLayout->addWidget(m_calendarList);
#ifndef Q_OS_SYMBIAN
scrollAreaLayout->addLayout(hbLayout);
#endif
QScrollArea *scrollArea = new QScrollArea(this);
scrollArea->setWidgetResizable(true);
QWidget *formContainer = new QWidget(scrollArea);
formContainer->setLayout(scrollAreaLayout);
scrollArea->setWidget(formContainer);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addWidget(scrollArea);
setLayout(mainLayout);
// Add softkeys
QAction* cancelSoftKey = new QAction("Back", this);
cancelSoftKey->setSoftKeyRole(QAction::NegativeSoftKey);
addAction(cancelSoftKey);
connect(cancelSoftKey, SIGNAL(triggered(bool)), this, SLOT(backClicked()));
QAction* editSoftKey = new QAction("Edit",this);
editSoftKey->setSoftKeyRole(QAction::PositiveSoftKey); // Perhaps SelectSoftKey
addAction(editSoftKey);
connect(editSoftKey, SIGNAL(triggered(bool)), this, SLOT(editClicked()));
}
示例2: QDialog
TravelInfoDialog::TravelInfoDialog(Travel *travel, QWidget *parent) :
QDialog(parent),
ui(new Ui::TravelInfoDialog)
{
ui->setupUi(this);
#ifdef Q_WS_MAEMO_5
setAttribute(Qt::WA_Maemo5AutoOrientation, true);
setAttribute(Qt::WA_Maemo5StackedWindow);
#endif
#ifdef Q_OS_SYMBIAN
// We need to add a back button
QAction *backSoftKeyAction = new QAction(tr("Back"), this);
backSoftKeyAction->setSoftKeyRole(QAction::NegativeSoftKey);
connect(backSoftKeyAction,SIGNAL(triggered()),SLOT(close())); // when the back button is pressed, just close this window
addAction(backSoftKeyAction);
#endif
ui->tblResults->setItemDelegate(new TravelStageListDelegate(this, this));
ui->tblResults->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
ui->tblResults->setModel(new TravelStageListModel(this, travel->travelStages));
ui->tblResults->resizeRowsToContents();
ui->tblResults->setFixedHeight(ui->tblResults->verticalHeader()->length() + 60);
connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
orientationChanged(); // call this just in case we're in portrait mode from before
}
示例3: QDialog
//! [0]
Dialog::Dialog(QWidget *parent, bool smallScreen)
: QDialog(parent)
{
WigglyWidget *wigglyWidget = new WigglyWidget;
QLineEdit *lineEdit = new QLineEdit;
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(wigglyWidget);
layout->addWidget(lineEdit);
setLayout(layout);
#ifdef QT_SOFTKEYS_ENABLED
QAction *exitAction = new QAction(tr("Exit"), this);
exitAction->setSoftKeyRole(QAction::NegativeSoftKey);
connect (exitAction, SIGNAL(triggered()),this, SLOT(close()));
addAction (exitAction);
Qt::WindowFlags flags = windowFlags();
flags |= Qt::WindowSoftkeysVisibleHint;
setWindowFlags(flags);
#endif
connect(lineEdit, SIGNAL(textChanged(QString)),
wigglyWidget, SLOT(setText(QString)));
if (!smallScreen){
lineEdit->setText(tr("Hello world!"));
}
else{
lineEdit->setText(tr("Hello!"));
}
setWindowTitle(tr("Wiggly"));
resize(360, 145);
}
示例4: QWidget
Dialog::Dialog(QWidget *parent)
: QWidget(parent)
{
statusLabel = new QLabel;
statusLabel->setWordWrap(true);
#ifdef Q_OS_SYMBIAN
QAction *quitAction = new QAction(tr("Exit"), this);
quitAction->setSoftKeyRole(QAction::NegativeSoftKey);
addAction(quitAction);
#else
quitButton = new QPushButton(tr("Quit"));
quitButton->setAutoDefault(false);
#endif
if (!server.listen()) {
QMessageBox::critical(this, tr("Threaded Fortune Server"),
tr("Unable to start the server: %1.")
.arg(server.errorString()));
close();
return;
}
QString ipAddress;
QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
// use the first non-localhost IPv4 address
for (int i = 0; i < ipAddressesList.size(); ++i) {
if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
ipAddressesList.at(i).toIPv4Address()) {
ipAddress = ipAddressesList.at(i).toString();
break;
}
}
// if we did not find one, use IPv4 localhost
if (ipAddress.isEmpty())
ipAddress = QHostAddress(QHostAddress::LocalHost).toString();
statusLabel->setText(tr("The server is running on\n\nIP: %1\nport: %2\n\n"
"Run the Fortune Client example now.")
.arg(ipAddress).arg(server.serverPort()));
#ifdef Q_OS_SYMBIAN
connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(statusLabel);
setLayout(mainLayout);
#else
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addStretch(1);
buttonLayout->addWidget(quitButton);
buttonLayout->addStretch(1);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(statusLabel);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
#endif
setWindowTitle(tr("Threaded Fortune Server"));
}
示例5: TextEditAutoResizer
QT_BEGIN_NAMESPACE
LoggerWidget::LoggerWidget(QWidget *parent) :
QMainWindow(parent),
m_visibilityOrigin(SettingsOrigin)
{
setAttribute(Qt::WA_QuitOnClose, false);
setWindowTitle(tr("Warnings"));
m_plainTextEdit = new QPlainTextEdit();
#if defined(Q_OS_SYMBIAN)
QAction* clearAction = new QAction(tr("Clear"), this);
clearAction->setSoftKeyRole(QAction::PositiveSoftKey);
connect(clearAction, SIGNAL(triggered()), m_plainTextEdit, SLOT(clear()));
addAction(clearAction);
m_plainTextEdit->setReadOnly(true);
QAction* backAction = new QAction( tr("Back"), this );
backAction->setSoftKeyRole( QAction::NegativeSoftKey );
connect(backAction, SIGNAL(triggered()), this, SLOT(hide()));
addAction( backAction );
#endif
#ifdef Q_WS_MAEMO_5
new TextEditAutoResizer(m_plainTextEdit);
setAttribute(Qt::WA_Maemo5StackedWindow);
QScrollArea *area = new QScrollArea();
area->setWidget(m_plainTextEdit);
area->setWidgetResizable(true);
setCentralWidget(area);
#else
setCentralWidget(m_plainTextEdit);
#endif
m_noWarningsLabel = new QLabel(m_plainTextEdit);
m_noWarningsLabel->setText(tr("(No warnings)"));
m_noWarningsLabel->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(m_noWarningsLabel);
m_plainTextEdit->setLayout(layout);
connect(m_plainTextEdit, SIGNAL(textChanged()), this, SLOT(updateNoWarningsLabel()));
readSettings();
setupPreferencesMenu();
}
示例6: setMenu
void DayPage::setMenu(QMenu *menu)
{
// Add softkey for symbian
QAction* optionsSoftKey = new QAction("Options", this);
optionsSoftKey->setSoftKeyRole(QAction::PositiveSoftKey);
optionsSoftKey->setMenu(menu);
addAction(optionsSoftKey);
}
示例7: QMainWindow
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
central = new QWidget(this);
central->setContextMenuPolicy(Qt::NoContextMenu); // explicitly forbid usage of context menu so actions item is not shown menu
setCentralWidget(central);
// Create text editor and set softkeys to it
textEditor= new QTextEdit(tr("Navigate in UI to see context sensitive softkeys in action"), this);
QAction* clear = new QAction(tr("Clear"), this);
clear->setSoftKeyRole(QAction::NegativeSoftKey);
textEditor->addAction(clear);
ok = new QAction(tr("Ok"), this);
ok->setSoftKeyRole(QAction::PositiveSoftKey);
connect(ok, SIGNAL(triggered()), this, SLOT(okPressed()));
cancel = new QAction(tr("Cancel"), this);
cancel->setSoftKeyRole(QAction::NegativeSoftKey);
connect(cancel, SIGNAL(triggered()), this, SLOT(cancelPressed()));
infoLabel = new QLabel(tr(""), this);
infoLabel->setContextMenuPolicy(Qt::NoContextMenu);
toggleButton = new QPushButton(tr("Custom"), this);
toggleButton->setContextMenuPolicy(Qt::NoContextMenu);
toggleButton->setCheckable(true);
pushButton = new QPushButton(tr("File Dialog"), this);
pushButton->setContextMenuPolicy(Qt::NoContextMenu);
QComboBox* comboBox = new QComboBox(this);
comboBox->setContextMenuPolicy(Qt::NoContextMenu);
comboBox->insertItems(0, QStringList()
<< QApplication::translate("MainWindow", "Selection1", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("MainWindow", "Selection2", 0, QApplication::UnicodeUTF8)
<< QApplication::translate("MainWindow", "Selection3", 0, QApplication::UnicodeUTF8)
);
layout = new QGridLayout;
layout->addWidget(textEditor, 0, 0, 1, 2);
layout->addWidget(infoLabel, 1, 0, 1, 2);
layout->addWidget(toggleButton, 2, 0);
layout->addWidget(pushButton, 2, 1);
layout->addWidget(comboBox, 3, 0, 1, 2);
central->setLayout(layout);
fileMenu = menuBar()->addMenu(tr("&File"));
exit = new QAction(tr("&Exit"), this);
fileMenu->addAction(exit);
connect(clear, SIGNAL(triggered()), this, SLOT(clearTextEditor()));
connect(pushButton, SIGNAL(clicked()), this, SLOT(openDialog()));
connect(exit, SIGNAL(triggered()), this, SLOT(exitApplication()));
connect(toggleButton, SIGNAL(clicked()), this, SLOT(setCustomSoftKeys()));
pushButton->setFocus();
}
示例8: setupActions
void HistoryView::setupActions()
{
QAction *selectAction = new QAction(QString("Wybierz"), this);
selectAction->setSoftKeyRole(QAction::PositiveSoftKey);
this->addAction(selectAction);
QAction *backAction = new QAction(QString("Wstecz"), this);
backAction->setSoftKeyRole(QAction::NegativeSoftKey);
this->addAction(backAction);
connect(selectAction, SIGNAL(triggered()), SLOT(selectItem()));
connect(backAction, SIGNAL(triggered()), SLOT(goBack()));
connect(historyList, SIGNAL(itemActivated(QListWidgetItem*)), SLOT(selectItem(QListWidgetItem*)));
connect(this, SIGNAL(itemSelected(QUrl)), SLOT(goBack()));
connect(this, SIGNAL(rightSoftKeyPressed()), SLOT(goBack()));
connect(this, SIGNAL(leftSoftKeyPressed()), SLOT(selectItem()));
}
示例9: QDialog
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
clientProgressBar = new QProgressBar;
clientStatusLabel = new QLabel(tr("Client ready"));
serverProgressBar = new QProgressBar;
serverStatusLabel = new QLabel(tr("Server ready"));
#ifdef Q_OS_SYMBIAN
QMenu *menu = new QMenu(this);
QAction *optionsAction = new QAction(tr("Options"), this);
optionsAction->setSoftKeyRole(QAction::PositiveSoftKey);
optionsAction->setMenu(menu);
addAction(optionsAction);
startAction = menu->addAction(tr("Start"), this, SLOT(start()));
quitAction = new QAction(tr("Exit"), this);
quitAction->setSoftKeyRole(QAction::NegativeSoftKey);
addAction(quitAction);
connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
#else
startButton = new QPushButton(tr("&Start"));
quitButton = new QPushButton(tr("&Quit"));
buttonBox = new QDialogButtonBox;
buttonBox->addButton(startButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole);
connect(startButton, SIGNAL(clicked()), this, SLOT(start()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
#endif
connect(&tcpServer, SIGNAL(newConnection()),
this, SLOT(acceptConnection()));
connect(&tcpClient, SIGNAL(connected()), this, SLOT(startTransfer()));
connect(&tcpClient, SIGNAL(bytesWritten(qint64)),
this, SLOT(updateClientProgress(qint64)));
connect(&tcpClient, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(displayError(QAbstractSocket::SocketError)));
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(clientProgressBar);
mainLayout->addWidget(clientStatusLabel);
mainLayout->addWidget(serverProgressBar);
mainLayout->addWidget(serverStatusLabel);
mainLayout->addStretch(1);
mainLayout->addSpacing(10);
#ifndef Q_OS_SYMBIAN
mainLayout->addWidget(buttonBox);
#endif
setLayout(mainLayout);
setWindowTitle(tr("Loopback"));
}
示例10: QWidget
WindowWithSearchResults::WindowWithSearchResults(QWidget *parent) :
QWidget(parent),
ui(new Ui::SearchWindow)
{
ui->setupUi(this);
setWidgetsInitialState();
QAction *backToMainScreenAction = new QAction("Back", this);
backToMainScreenAction->setSoftKeyRole(QAction::NegativeSoftKey);
connect(backToMainScreenAction, SIGNAL(triggered()), SLOT(removeWidget()));
addAction(backToMainScreenAction);
}
示例11: QObject
QSoftKeyManager::QSoftKeyManager() :
#ifdef Q_WS_S60
QObject(*(new QSoftKeyManagerPrivateS60), 0)
#else
QObject(*(new QSoftKeyManagerPrivate), 0)
#endif
{
}
QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *actionWidget)
{
const char* text = standardSoftKeyText(standardKey);
QAction *action = new QAction(QSoftKeyManager::tr(text), actionWidget);
QAction::SoftKeyRole softKeyRole = QAction::NoSoftKey;
switch (standardKey) {
case MenuSoftKey: // FALL-THROUGH
action->setProperty(MENU_ACTION_PROPERTY, QVariant(true)); // TODO: can be refactored away to use _q_action_menubar
case OkSoftKey:
case SelectSoftKey:
case DoneSoftKey:
softKeyRole = QAction::PositiveSoftKey;
break;
case CancelSoftKey:
softKeyRole = QAction::NegativeSoftKey;
break;
}
action->setSoftKeyRole(softKeyRole);
return action;
}
/*! \internal
Creates a QAction and registers the 'triggered' signal to send the given key event to
\a actionWidget as a convenience.
*/
QAction *QSoftKeyManager::createKeyedAction(StandardSoftKey standardKey, Qt::Key key, QWidget *actionWidget)
{
#ifndef QT_NO_ACTION
QScopedPointer<QAction> action(createAction(standardKey, actionWidget));
connect(action.data(), SIGNAL(triggered()), QSoftKeyManager::instance(), SLOT(sendKeyEvent()));
connect(action.data(), SIGNAL(destroyed(QObject*)), QSoftKeyManager::instance(), SLOT(cleanupHash(QObject*)));
QSoftKeyManager::instance()->d_func()->keyedActions.insert(action.data(), key);
return action.take();
#endif //QT_NO_ACTION
}
示例12: QVBoxLayout
DayPage::DayPage(QWidget *parent)
:QWidget(parent),
m_manager(0),
m_dateLabel(0),
m_itemList(0),
m_menuBar(0)
{
QVBoxLayout *mainLayout = new QVBoxLayout();
QHBoxLayout *dateLayout = new QHBoxLayout();
m_dateLabel = new QLabel(this);
m_dateLabel->setAlignment(Qt::AlignCenter);
dateLayout->addWidget(m_dateLabel);
dateLayout->addStretch();
#ifndef Q_OS_SYMBIAN
QPushButton* backButton = new QPushButton("View Month",this);
connect(backButton,SIGNAL(clicked()),this,SLOT(viewMonthClicked()));
dateLayout->addWidget(backButton);
#endif
mainLayout->addLayout(dateLayout);
m_itemList = new QListWidget(this);
mainLayout->addWidget(m_itemList);
connect(m_itemList, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(itemDoubleClicked(QListWidgetItem *)));
QHBoxLayout* hbLayout = new QHBoxLayout();
QPushButton* editEventButton = new QPushButton("Edit",this);
connect(editEventButton,SIGNAL(clicked()),this,SLOT(editItem()));
hbLayout->addWidget(editEventButton);
QPushButton* removeEventButton = new QPushButton("Remove",this);
connect(removeEventButton,SIGNAL(clicked()),this,SLOT(removeItem()));
hbLayout->addWidget(removeEventButton);
mainLayout->addLayout(hbLayout);
#ifdef Q_OS_SYMBIAN
// Add softkey for symbian
QAction* backSoftKey = new QAction("View Month", this);
backSoftKey->setSoftKeyRole(QAction::NegativeSoftKey);
addAction(backSoftKey);
connect(backSoftKey, SIGNAL(triggered(bool)), this, SLOT(viewMonthClicked()));
#endif
setLayout(mainLayout);
}
示例13: if
DocumentPropertiesWidget::DocumentPropertiesWidget(
const QFileInfo &file, QDocumentGallery *gallery, QWidget *parent, Qt::WindowFlags flags)
: QDialog(parent, flags)
, documentGallery(gallery)
, queryRequest(0)
, itemRequest(0)
{
// draw softkeys on symbian to be able to close dialog
QAction* doneAction = new QAction(tr("Done"), this);
doneAction->setSoftKeyRole(QAction::PositiveSoftKey);
connect(doneAction, SIGNAL(triggered()), parent, SLOT(close()));
addAction(doneAction);
QFormLayout *layout = new QFormLayout;
setLayout(layout);
queryRequest = new QGalleryQueryRequest(documentGallery, this);
queryRequest->setRootType(QDocumentGallery::File);
queryRequest->setFilter(QDocumentGallery::filePath == file.absoluteFilePath());
queryRequest->setPropertyNames(QStringList()
<< QDocumentGallery::fileName
<< QDocumentGallery::mimeType
<< QDocumentGallery::path
<< QDocumentGallery::fileSize
<< QDocumentGallery::lastModified
<< QDocumentGallery::lastAccessed);
queryRequest->execute();
resultSet = queryRequest->resultSet();
if (resultSet) {
addTextPropertyRow("File Name", QDocumentGallery::fileName);
addTextPropertyRow("Type", QDocumentGallery::mimeType);
addTextPropertyRow("Path", QDocumentGallery::path);
addTextPropertyRow("Size", QDocumentGallery::fileSize);
addTimePropertyRow("Modified", QDocumentGallery::lastModified);
addTimePropertyRow("Accessed", QDocumentGallery::lastAccessed);
if (queryRequest->state() == QGalleryAbstractRequest::Active)
connect(queryRequest, SIGNAL(finished()), this, SLOT(queryRequestFinished()));
else if (queryRequest->state() == QGalleryAbstractRequest::Finished)
queryRequestFinished();
}
}
示例14: defined
QTM_USE_NAMESPACE
AddCalendarPage::AddCalendarPage(QWidget *parent)
:QWidget(parent),
m_manager(0)
{
#if defined(Q_WS_MAEMO_5)
// Maemo5 calendar features
QLabel *nameLabel = new QLabel("Name:", this);
m_nameEdit = new QLineEdit(this);
QLabel *colorLabel = new QLabel("Color:", this);
m_colorComboBox = new QComboBox(this); // must be filled later
connect(m_colorComboBox, SIGNAL(currentIndexChanged(const QString&)),
this, SLOT(colorChanged(const QString&)));
QLabel *typeLabel = new QLabel("Type:", this);
m_typeComboBox = new QComboBox(this); // must be filled later
connect(m_typeComboBox, SIGNAL(currentIndexChanged(const QString&)),
this, SLOT(typeChanged(const QString&)));
m_visibleCheckBox = new QCheckBox("Visible", this);
connect(m_visibleCheckBox, SIGNAL(stateChanged(int)),
this, SLOT(visibilityChanged(int)));
m_readonlyCheckBox = new QCheckBox("Readonly", this);
connect(m_readonlyCheckBox, SIGNAL(stateChanged(int)),
this, SLOT(readonlyChanged(int)));
#endif
#ifndef Q_OS_SYMBIAN
// Add push buttons for non-Symbian platforms as they do not support soft keys
QHBoxLayout* hbLayout = new QHBoxLayout();
QPushButton *okButton = new QPushButton("Save", this);
connect(okButton,SIGNAL(clicked()),this,SLOT(saveClicked()));
hbLayout->addWidget(okButton);
QPushButton *cancelButton = new QPushButton("Cancel", this);
connect(cancelButton,SIGNAL(clicked()),this,SLOT(cancelClicked()));
hbLayout->addWidget(cancelButton);
#endif
QVBoxLayout *scrollAreaLayout = new QVBoxLayout();
#if defined(Q_WS_MAEMO_5)
scrollAreaLayout->addWidget(nameLabel);
scrollAreaLayout->addWidget(m_nameEdit);
scrollAreaLayout->addWidget(colorLabel);
scrollAreaLayout->addWidget(m_colorComboBox);
scrollAreaLayout->addWidget(typeLabel);
scrollAreaLayout->addWidget(m_typeComboBox);
QHBoxLayout *checkBoxLayout = new QHBoxLayout();
checkBoxLayout->addWidget(m_visibleCheckBox);
checkBoxLayout->addWidget(m_readonlyCheckBox);
scrollAreaLayout->addLayout(checkBoxLayout);
#endif
scrollAreaLayout->addStretch();
#ifndef Q_OS_SYMBIAN
scrollAreaLayout->addLayout(hbLayout);
#endif
QScrollArea *scrollArea = new QScrollArea(this);
scrollArea->setWidgetResizable(true);
QWidget *formContainer = new QWidget(scrollArea);
formContainer->setLayout(scrollAreaLayout);
scrollArea->setWidget(formContainer);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addWidget(scrollArea);
setLayout(mainLayout);
// Add softkeys
QAction* cancelSoftKey = new QAction("Cancel", this);
cancelSoftKey->setSoftKeyRole(QAction::NegativeSoftKey);
addAction(cancelSoftKey);
connect(cancelSoftKey, SIGNAL(triggered(bool)), this, SLOT(cancelClicked()));
QAction* saveSoftKey = new QAction("Save",this);
saveSoftKey->setSoftKeyRole(QAction::PositiveSoftKey);
addAction(saveSoftKey);
connect(saveSoftKey, SIGNAL(triggered(bool)), this, SLOT(saveClicked()));
}
示例15: QDialog
//! [0]
FindDialog::FindDialog(QWidget *parent)
: QDialog(parent)
{
label = new QLabel(tr("Find &what:"));
lineEdit = new QLineEdit;
label->setBuddy(lineEdit);
caseCheckBox = new QCheckBox(tr("Match &case"));
fromStartCheckBox = new QCheckBox(tr("Search from &start"));
fromStartCheckBox->setChecked(true);
//! [1]
findButton = new QPushButton(tr("&Find"));
findButton->setDefault(true);
moreButton = new QPushButton(tr("&More"));
moreButton->setCheckable(true);
//! [0]
moreButton->setAutoDefault(false);
//! [1]
//! [2]
extension = new QWidget;
wholeWordsCheckBox = new QCheckBox(tr("&Whole words"));
backwardCheckBox = new QCheckBox(tr("Search &backward"));
searchSelectionCheckBox = new QCheckBox(tr("Search se&lection"));
//! [2]
//! [3]
#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
// Create menu
QMenu *menu = new QMenu(this);
// Create Find menu item
menu->addAction(tr("Find"));
// Create More menu item
QAction *moreAction = menu->addAction(tr("More"));
moreAction->setCheckable(true);
// Create Options CBA
QAction *optionAction = new QAction(tr("Options"), this);
// Set defined menu into Options button
optionAction->setMenu(menu);
optionAction->setSoftKeyRole(QAction::PositiveSoftKey);
addAction(optionAction);
// Connect More menu item to setVisible slot
connect(moreAction, SIGNAL(triggered(bool)), extension, SLOT(setVisible(bool)));
// Create Exit CBA
QAction *backSoftKeyAction = new QAction(QString(tr("Exit")), this);
backSoftKeyAction->setSoftKeyRole(QAction::NegativeSoftKey);
// Exit button closes the application
connect(backSoftKeyAction, SIGNAL(triggered()), qApp, SLOT(quit()));
addAction(backSoftKeyAction);
#else
//! [6]
buttonBox = new QDialogButtonBox(Qt::Vertical);
buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);
//! [6]
connect(moreButton, SIGNAL(toggled(bool)), extension, SLOT(setVisible(bool)));
#endif
QVBoxLayout *extensionLayout = new QVBoxLayout;
extensionLayout->setMargin(0);
extensionLayout->addWidget(wholeWordsCheckBox);
extensionLayout->addWidget(backwardCheckBox);
extensionLayout->addWidget(searchSelectionCheckBox);
extension->setLayout(extensionLayout);
//! [3]
//! [4]
QHBoxLayout *topLeftLayout = new QHBoxLayout;
topLeftLayout->addWidget(label);
topLeftLayout->addWidget(lineEdit);
QVBoxLayout *leftLayout = new QVBoxLayout;
leftLayout->addLayout(topLeftLayout);
leftLayout->addWidget(caseCheckBox);
leftLayout->addWidget(fromStartCheckBox);
QGridLayout *mainLayout = new QGridLayout;
#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_SIMULATOR)
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
#endif
mainLayout->addLayout(leftLayout, 0, 0);
#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_SIMULATOR)
mainLayout->addWidget(buttonBox, 0, 1);
#endif
mainLayout->addWidget(extension, 1, 0, 1, 2);
mainLayout->setRowStretch(2, 1);
//.........这里部分代码省略.........