本文整理汇总了C++中QDockWidget::setAttribute方法的典型用法代码示例。如果您正苦于以下问题:C++ QDockWidget::setAttribute方法的具体用法?C++ QDockWidget::setAttribute怎么用?C++ QDockWidget::setAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDockWidget
的用法示例。
在下文中一共展示了QDockWidget::setAttribute方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: QDialog
DownloadManager::DownloadManager(QWidget *parent)
: QDialog(parent)
, m_autoSaver(new AutoSaver(this))
, m_manager(new NetworkAccessManager(this))
, m_iconProvider(0)
, m_removePolicy(Never)
, ui(new Ui_DownloadManager())
{
ui->setupUi(this);
ui->downloadsView->setShowGrid(false);
ui->downloadsView->verticalHeader()->hide();
ui->downloadsView->horizontalHeader()->hide();
ui->downloadsView->setAlternatingRowColors(true);
ui->downloadsView->horizontalHeader()->setStretchLastSection(true);
m_model = new DownloadModel(this);
ui->downloadsView->setModel(m_model);
connect(ui->cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup()));
load();
Gui::DockWindowManager* pDockMgr = Gui::DockWindowManager::instance();
QDockWidget* dw = pDockMgr->addDockWindow(QT_TR_NOOP("Download Manager"),
this, Qt::BottomDockWidgetArea);
dw->setFeatures(QDockWidget::DockWidgetMovable|
QDockWidget::DockWidgetFloatable|
QDockWidget::DockWidgetClosable);
dw->setAttribute(Qt::WA_DeleteOnClose);
dw->show();
}
示例2: MakeGLView
void ExecutingPietLibraries::MakeGLView (std::vector<PietTree> & pt){
if(pt.size() == 0 )return;
if(pt[0].isLeaf()) return;
pt = pt[0].Nodes();
if(pt.size() < 3) return;
int w = pt[0].Val();
int h = pt[1].Val();
QString title = pt[2].toString();
for(int i:range(3)) pt.pop_back();
GLGameWidget* glgw = GLGameWidget::MakeUniqueGLWidget(nullptr);
if(glgw == nullptr) return ;
glgw->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
glgw->setSize(w,h);
QDockWidget* dw = new QDockWidget(nullptr);
dw->setFloating(true);
dw->setAllowedAreas(Qt::NoDockWidgetArea);
dw->connect(dw,&QDockWidget::dockLocationChanged,[=](){ dw->setFloating(true);});
dw->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
dw->setWidget(glgw);
dw->setAttribute(Qt::WA_DeleteOnClose);
dw->setWindowTitle(title);
dw->show();
}
示例3: createMainWindowDock
QDockWidget* PluginAPI::createMainWindowDock(Qt::DockWidgetArea dockWidgetArea, const QString& title)
{
QDockWidget* dock = new QDockWidget(title, m_mainWindow);
dock->setAllowedAreas(Qt::AllDockWidgetAreas);
dock->setAttribute(Qt::WA_DeleteOnClose);
m_mainWindow->addDockWidget(dockWidgetArea, dock);
m_mainWindow->addViewAction(dock->toggleViewAction());
return dock;
}
示例4: addDock
void BaseWidget::addDock(QWidget *w)
{
QDockWidget *dock = new QDockWidget(w->windowTitle(),this);
dock->setObjectName(w->windowTitle());
addDockWidget(Qt::LeftDockWidgetArea, dock);
dock->setWidget(w);
dock->setAttribute(Qt::WA_DeleteOnClose);
dock->show();
docks.append(dock);
connect(dock, SIGNAL(destroyed(QObject*)), this, SLOT(dock_destroyed_cb(QObject *)));
}
示例5: createHeader
void MainWindow::createHeader()
{
// QToolBar *tb = new QToolBar(this);
QDockWidget *header = new QDockWidget(this);
QHBoxLayout *ly = new QHBoxLayout();
QFrame *frm = new QFrame();
QPushButton *pbExit = new QPushButton();
pbExit->setIcon(QIcon(":/images/meiti-up.png"));
pbExit->setIconSize(QSize(40,40));
pbExit->setFocusPolicy(Qt::NoFocus);
pbExit->setFocusProxy(0);
pbExit->setStyleSheet(QString("background-image: url(:/images/meiti-up.png);\n\n#pbExit:pressed {background-image: url(:/images/meiti-down.png) 4 4 4 4 strech strech;}\n\n#pbExit:hover {background-image: url(:/images/meiti-over.png) 4 4 4 4 strech strech;}\n"));
connect(pbExit, SIGNAL(clicked()), qApp, SLOT(quit()));
ly->addWidget(pbExit);
ly->setAlignment(pbExit,Qt::AlignCenter);
frm->setLayout(ly);
frm->setAttribute(Qt::WA_TranslucentBackground, true); // 设置背景透明(version >= QT4.5
header->setWidget(frm);
header->setAttribute(Qt::WA_TranslucentBackground, true); // 设置背景透明(version >= QT4.5
//header->setWindowFlags(Qt::FramelessWindowHint);
header->setWindowTitle(QString(""));
header->setTitleBarWidget(new QWidget);
header->setFocusPolicy(Qt::NoFocus);
header->setFocusProxy(0);
header->setFeatures(QDockWidget::NoDockWidgetFeatures);
header->setBaseSize(0,40);
addDockWidget(Qt::TopDockWidgetArea,header, Qt::Horizontal);
// tb->addWidget(frm);
// pbExit->setText(QString("%1--%2--%3").arg(this->width()).arg(tb->width()).arg(pbExit->width()));
//
// tb->setMovable(false);
//
// this->addToolBar(tb);
// dockWidget->setWidget(keyboardfrm);
// dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea);
// dockWidget->setFeatures(QDockWidget::DockWidgetClosable);
// addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
}
示例6: launchNewBoardView
void MainWindowImpl::launchNewBoardView()
{
const qreal zm(0.25);
QBoardView * v = new QBoardView( this->impl->gstate );
v->zoom(zm);
QDockWidget * win = new QDockWidget( "QBoard View", this );
win->setAttribute(Qt::WA_DeleteOnClose);
#if 0
QWidget * frame = new QWidget();
QGridLayout * lay = new QGridLayout(frame);
lay->setSpacing(1);
lay->setContentsMargins(2,2,2,2);
lay->addWidget( v );
win->setWidget(frame);
this->addDockWidget(Qt::RightDockWidgetArea, win );
#else
win->setWidget( v );
this->addDockWidget(Qt::RightDockWidgetArea, win );
#endif
}
示例7: contextMenuEvent
void ProtobufTree::contextMenuEvent(QContextMenuEvent* e) {
QMenu menu;
QAction* expandItemAction = nullptr, * collapseItemAction = nullptr;
QTreeWidgetItem* item = itemAt(e->pos());
if (item) {
expandItemAction = menu.addAction("Expand");
collapseItemAction = menu.addAction("Collapse");
menu.addSeparator();
}
QAction* expandMessagesAction = menu.addAction("Expand Only Messages");
menu.addSeparator();
QAction* expandAction = menu.addAction("Expand All");
QAction* collapseAction = menu.addAction("Collapse All");
menu.addSeparator();
QAction* showTags = menu.addAction("Show tags");
showTags->setCheckable(true);
showTags->setChecked(!isColumnHidden(Column_Tag));
menu.addSeparator();
QAction* chartAction = nullptr;
QList<QAction*> chartMenuActions;
QList<QDockWidget*> dockWidgets;
const FieldDescriptor* field = nullptr;
if (mainWindow && item) {
field = item->data(Column_Tag, FieldDescriptorRole)
.value<const FieldDescriptor*>();
if (field) {
int t = field->type();
if (t == FieldDescriptor::TYPE_FLOAT ||
t == FieldDescriptor::TYPE_DOUBLE ||
(t == FieldDescriptor::TYPE_MESSAGE &&
field->message_type()->name() == "Point")) {
dockWidgets = mainWindow->findChildren<QDockWidget*>();
if (!dockWidgets.isEmpty()) {
QMenu* chartMenu = menu.addMenu("Chart");
chartAction = chartMenu->addAction("New Chart");
chartMenu->addSeparator();
for (int i = 0; i < dockWidgets.size(); ++i) {
chartMenuActions.append(chartMenu->addAction(
QString("Add to '%1'")
.arg(dockWidgets[0]->windowTitle())));
}
} else {
chartAction = menu.addAction("New Chart");
}
}
}
}
QAction* act = menu.exec(mapToGlobal(e->pos()));
if (act == expandMessagesAction) {
collapseAll();
expandMessages();
} else if (act == expandAction) {
expandAll();
} else if (act == collapseAction) {
collapseAll();
} else if (act == showTags) {
setColumnHidden(Column_Tag, !showTags->isChecked());
} else if (expandItemAction && act == expandItemAction) {
expandSubtree(item);
} else if (collapseItemAction && act == collapseItemAction) {
collapseSubtree(item);
} else if (chartAction && act == chartAction) {
// Find the path from LogFrame to the chosen item
QVector<int> path;
QStringList names;
for (QTreeWidgetItem* i = item; i; i = i->parent()) {
int tag = i->data(Column_Tag, Qt::DisplayRole).toInt();
path.push_back(tag);
names.append(i->text(Column_Field));
}
reverse(path.begin(), path.end());
reverse(names.begin(), names.end());
QDockWidget* dock = new QDockWidget(names.join("."), mainWindow);
StripChart* chart = new StripChart(dock);
chart->history(_history);
if (field->type() == FieldDescriptor::TYPE_MESSAGE) {
Chart::PointMagnitude* f = new Chart::PointMagnitude;
f->path = path;
chart->function(f);
} else {
Chart::NumericField* f = new Chart::NumericField;
f->path = path;
chart->function(f);
}
dock->setAttribute(Qt::WA_DeleteOnClose);
dock->setWidget(chart);
mainWindow->addDockWidget(Qt::BottomDockWidgetArea, dock);
if (updateTimer) {
connect(updateTimer, SIGNAL(timeout()), chart, SLOT(update()));
//.........这里部分代码省略.........
示例8: loadFile
bool MainWindowImpl::loadFile( QFileInfo const & fi )
{
if( ! fi.isFile() ) return false;
// FIXME: this dispatch needs to be generalized.
QString fn( fi.filePath() ); // fi.absoluteFilePath() );
bool worked = false;
if( impl->gstate.board().fileNameMatches(fn) )
{
worked = impl->gstate.board().s11nLoad(fn);
}
else if( impl->gstate.fileNameMatches(fn) )
{
worked = this->loadGame(fn);
}
else if( fn.endsWith(".wiki") )
{
worked = true;
QString lbl = QString("Wiki: %1").arg(fi.fileName());
QDockWidget * win = new QDockWidget( lbl, this );
qboard::WikiLiteView * v = new qboard::WikiLiteView;
win->setAttribute(Qt::WA_DeleteOnClose);
win->setWidget( v );
win->move( impl->gv->viewport()->mapToGlobal(QPoint(0,0)) );
win->resize( impl->gv->viewport()->size() );
win->setFloating(true);
this->addDockWidget(Qt::RightDockWidgetArea, win );
v->parseFile(fn);
win->setWindowTitle( v->windowTitle() );
}
else if( QRegExp("\\.[jq]s$",Qt::CaseInsensitive).indexIn(fn) > 0 )
{
QScriptEngine & js( impl->gstate.jsEngine() );
qDebug() << "[ running script"<<fn<<"]";
QScriptValue rv = qboard::jsInclude( &js, fn );
if( rv.isError() )
{
QStringList bt( js.uncaughtExceptionBacktrace() );
QScriptValue exv = rv.isError() ? rv : js.uncaughtException();
QString msg("Script threw or returned an exception:\n");
msg += exv.toString()
+ "\nBacktrace:\n"
+ bt.join("\n");
QMessageBox::warning( this, "JavaScript Exception",
msg,
QMessageBox::Ok, QMessageBox::Ok );
worked = false;
}
else
{
worked = true;
}
qDebug() << "[ done running script"<<fn<<"]";
}
else if( QRegExp("\\.(html|txt)$",Qt::CaseInsensitive).indexIn(fn) > 0 )
{
#if QT_VERSION >= 0x040400
QBoardDocsBrowser * b = new QBoardDocsBrowser;
b->setHome(fn);
b->setWindowTitle(fn);
b->show();
worked = true;
#else
QMessageBox::warning( this, "Not implemented!",
"MainWindowImpl::loadFile(*.{txt,html}) not implemented for Qt < 4.4",
QMessageBox::Ok, QMessageBox::Ok );
worked = false;
#endif
}
else if( QRegExp("\\.(png|jpg|gif|xpm|svg|bmp)$",Qt::CaseInsensitive).indexIn(fn) > 0 )
{ // ^^^ FIXME: get the list of image formats from somewhere dynamic
const size_t threshold = 10 * 1024;
// ^^^ fixme: ^^^^ do this based on image resolution, not file size, cuz many
// large-sized PNGs are quite small.
if( fi.size() < threshold )
{
worked = this->loadPiece(fi);
}
else
{
worked = this->impl->gstate.board().s11nLoad(fn); // fi.absoluteFilePath());
}
}
if( worked )
{
this->statusBar()->showMessage("Loaded: "+fn); // fi.absoluteFilePath());
}
else
{
this->statusBar()->showMessage("Load FAILED: "+fn); // fi.absoluteFilePath());
}
return worked;
}
示例9: setupUi
void SearchResultWidget::setupUi(QMainWindow *qmw, const QString &iconThemePath)
{
QDockWidget *searchResultWidget = 0;
QString dockTitle = sectionName+":"+phrase;
dockTitle.replace("==", tr("Radifs that contain: "));
dockTitle.replace("=", tr("Rhymed by: "));
searchResultWidget = new QDockWidget(dockTitle, qmw);
searchResultWidget->setObjectName(QString::fromUtf8("searchResultWidget_new"));//object name for created instance, it renames to 'searchResultWidget_old'
//searchResultWidget->setLayoutDirection(Qt::RightToLeft);
searchResultWidget->setFeatures(QDockWidget::AllDockWidgetFeatures);
searchResultWidget->setAttribute(Qt::WA_DeleteOnClose, true);
QGridLayout *searchGridLayout = new QGridLayout(searchResultContents);
searchGridLayout->setSpacing(6);
searchGridLayout->setContentsMargins(11, 11, 11, 11);
searchGridLayout->setObjectName(QString::fromUtf8("searchGridLayout"));
QHBoxLayout *horizontalLayout = new QHBoxLayout();
horizontalLayout->setSpacing(6);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
QGridLayout *searchTableGridLayout = new QGridLayout();
searchTableGridLayout->setSpacing(6);
searchTableGridLayout->setObjectName(QString::fromUtf8("gridLayout_3"));
//create filter lable and lineEdit and layout
QHBoxLayout *filterHorizontalLayout = new QHBoxLayout();
filterHorizontalLayout->setSpacing(6);
filterHorizontalLayout->setObjectName(QString::fromUtf8("filterHorizontalLayout"));
QLabel *filterLabel = new QLabel(searchResultContents);
filterLabel->setObjectName(QString::fromUtf8("filterLabel"));
filterLabel->setText(tr("Filter:"));
filterHorizontalLayout->addWidget(filterLabel, 0, Qt::AlignRight|Qt::AlignCenter);
QString clearIconPath = iconThemePath+"/clear-left.png";
if (searchResultContents->layoutDirection() == Qt::RightToLeft)
clearIconPath = iconThemePath+"/clear-right.png";
filterLineEdit = new QSearchLineEdit(searchResultContents, clearIconPath, iconThemePath+"/filter.png");
filterLineEdit->setObjectName(QString::fromUtf8("filterLineEdit"));
#if QT_VERSION > 0x040700
filterLineEdit->setPlaceholderText(tr("Filter"));
#endif
connect(filterLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(filterResults(const QString &)));
filterHorizontalLayout->addWidget(filterLineEdit);
QSpacerItem *filterHorizSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
filterHorizontalLayout->addItem(filterHorizSpacer);
pageLabel = new QLabel(searchResultContents);
pageLabel->setObjectName(QString::fromUtf8("pageLabel"));
// filterHorizontalLayout->addWidget(pageLabel, 0, Qt::AlignRight|Qt::AlignCenter);
//searchTableGridLayout->addLayout(filterHorizontalLayout, 1, 0, 1, 1);
//create QTableWidget
searchTable = new QTableWidget(searchResultContents);
searchTable->setObjectName(QString::fromUtf8("searchTable"));
searchTable->setColumnCount(3);
searchTable->setLayoutDirection(Qt::RightToLeft);
searchTable->setAlternatingRowColors(true);
searchTable->setSelectionMode(QAbstractItemView::NoSelection);
searchTable->setSelectionBehavior(QAbstractItemView::SelectRows);
searchTable->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
searchTable->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
searchTable->verticalHeader()->setVisible(false);
//searchTable->horizontalHeader()->setVisible(false);
searchTable->horizontalHeader()->setHighlightSections(false);
searchTable->horizontalHeader()->setStretchLastSection(true);
//install delagate on third column
SaagharItemDelegate *searchDelegate = new SaagharItemDelegate(searchTable, searchTable->style(), phrase);
searchTable->setItemDelegateForColumn(2, searchDelegate);
connect(this, SIGNAL(searchFiltered(const QString &)), searchDelegate, SLOT(keywordChanged(const QString &)) );
//searchTable->setItemDelegateForColumn(2, new SaagharItemDelegate(searchTable, searchTable->style(), phrase));
searchTableGridLayout->addWidget(searchTable, 0, 0, 1, 1);
// QVBoxLayout *searchNavVerticalLayout = new QVBoxLayout();
// searchNavVerticalLayout->setSpacing(6);
// searchNavVerticalLayout->setObjectName(QString::fromUtf8("searchNavVerticalLayout"));
searchNextPage = new QToolButton(searchResultContents);
searchNextPage->setObjectName(QString::fromUtf8("searchNextPage"));
searchNextPage->setStyleSheet("QToolButton { border: none; padding: 0px; }");
actSearchNextPage = new QAction(searchResultContents);
searchNextPage->setDefaultAction(actSearchNextPage);
connect(searchNextPage, SIGNAL(triggered(QAction *)), this, SLOT(searchPageNavigationClicked(QAction *)));
searchNextPage->setEnabled(false);
searchNextPage->hide();
//searchNavVerticalLayout->addWidget(searchNextPage);
searchPreviousPage = new QToolButton(searchResultContents);
searchPreviousPage->setObjectName(QString::fromUtf8("searchPreviousPage"));
searchPreviousPage->setStyleSheet("QToolButton { border: none; padding: 0px; }");
actSearchPreviousPage = new QAction(searchResultContents);
searchPreviousPage->setDefaultAction(actSearchPreviousPage);
//.........这里部分代码省略.........
示例10: createDockWidget
QDockWidget* MainWindow::createDockWidget(KoDockFactoryBase* factory)
{
QDockWidget* dockWidget = 0;
if(!m_dockWidgetMap.contains(factory->id())) {
dockWidget = factory->createDockWidget();
// It is quite possible that a dock factory cannot create the dock; don't
// do anything in that case.
if(!dockWidget) return 0;
m_dockWidgets.push_back(dockWidget);
dockWidget->setObjectName(factory->id());
dockWidget->setParent(this);
if(dockWidget->widget() && dockWidget->widget()->layout())
dockWidget->widget()->layout()->setContentsMargins(1, 1, 1, 1);
Qt::DockWidgetArea side = Qt::RightDockWidgetArea;
bool visible = true;
switch(factory->defaultDockPosition()) {
case KoDockFactoryBase::DockTornOff:
dockWidget->setFloating(true); // position nicely?
break;
case KoDockFactoryBase::DockTop:
side = Qt::TopDockWidgetArea; break;
case KoDockFactoryBase::DockLeft:
side = Qt::LeftDockWidgetArea; break;
case KoDockFactoryBase::DockBottom:
side = Qt::BottomDockWidgetArea; break;
case KoDockFactoryBase::DockRight:
side = Qt::RightDockWidgetArea; break;
case KoDockFactoryBase::DockMinimized:
visible = false; break;
default:;
}
addDockWidget(side, dockWidget);
if(dockWidget->features() & QDockWidget::DockWidgetClosable) {
m_dockWidgetMenu->addAction(dockWidget->toggleViewAction());
if(!visible)
dockWidget->hide();
}
m_dockWidgetMap.insert(factory->id(), dockWidget);
} else {
dockWidget = m_dockWidgetMap[ factory->id()];
}
KConfigGroup group(KSharedConfig::openConfig(), "GUI");
QFont dockWidgetFont = QFontDatabase::systemFont(QFontDatabase::GeneralFont);
qreal pointSize = group.readEntry("palettefontsize", dockWidgetFont.pointSize() * 0.75);
pointSize = qMax(pointSize, QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont).pointSizeF());
dockWidgetFont.setPointSizeF(pointSize);
#ifdef Q_WS_MAC
dockWidget->setAttribute(Qt::WA_MacSmallSize, true);
#endif
dockWidget->setFont(dockWidgetFont);
connect(dockWidget, SIGNAL(dockLocationChanged(Qt::DockWidgetArea)), this, SLOT(forceDockTabFonts()));
return dockWidget;
}