本文整理汇总了C++中QTabBar::setElideMode方法的典型用法代码示例。如果您正苦于以下问题:C++ QTabBar::setElideMode方法的具体用法?C++ QTabBar::setElideMode怎么用?C++ QTabBar::setElideMode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTabBar
的用法示例。
在下文中一共展示了QTabBar::setElideMode方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setElideMode
void tst_QTabBar::setElideMode()
{
QFETCH(int, tabElideMode);
QTabBar tabBar;
if (tabElideMode != -128)
tabBar.setElideMode(Qt::TextElideMode(tabElideMode));
QTEST(int(tabBar.elideMode()), "expectedMode");
// Make sure style sheet does not override user set mode
tabBar.setStyleSheet("QWidget { background-color: #ABA8A6;}");
QTEST(int(tabBar.elideMode()), "expectedMode");
}
示例2: sizeHints
void tst_QTabBar::sizeHints()
{
QTabBar tabBar;
QSKIP("To be fixed on Mac (font size below not large enough) and Linux QWS (probably too large for the screen).", SkipSingle);
tabBar.setFont(QFont("Arial", 10));
tabBar.addTab("tab 01");
tabBar.addTab("tab 02");
tabBar.addTab("tab 03");
tabBar.addTab("tab 04");
tabBar.addTab("tab 05");
tabBar.addTab("tab 06");
tabBar.addTab("This is tab7");
tabBar.addTab("This is tab8");
tabBar.addTab("This is tab9 with a very long title");
// No eliding and no scrolling -> tabbar becomes very wide
tabBar.setUsesScrollButtons(false);
tabBar.setElideMode(Qt::ElideNone);
// qDebug() << tabBar.minimumSizeHint() << tabBar.sizeHint();
QVERIFY(tabBar.minimumSizeHint().width() > 700);
QVERIFY(tabBar.sizeHint().width() > 700);
// Scrolling enabled -> no reason to become very wide
tabBar.setUsesScrollButtons(true);
// qDebug() << tabBar.minimumSizeHint() << tabBar.sizeHint();
QVERIFY(tabBar.minimumSizeHint().width() < 200);
QVERIFY(tabBar.sizeHint().width() > 700); // unchanged
// Eliding enabled -> no reason to become very wide
tabBar.setUsesScrollButtons(false);
tabBar.setElideMode(Qt::ElideRight);
// qDebug() << tabBar.minimumSizeHint() << tabBar.sizeHint();
QVERIFY(tabBar.minimumSizeHint().width() < 500);
QVERIFY(tabBar.sizeHint().width() > 700); // unchanged
tabBar.addTab("This is tab10 with a very long title");
QVERIFY(tabBar.minimumSizeHint().width() < 600);
QVERIFY(tabBar.sizeHint().width() > 700); // unchanged
}
示例3: MakeTabBar
void FancyTabWidget::MakeTabBar(QTabBar::Shape shape, bool text, bool icons,
bool fancy) {
QTabBar* bar = new QTabBar(this);
bar->setShape(shape);
bar->setDocumentMode(true);
bar->setUsesScrollButtons(true);
bar->setElideMode(Qt::ElideRight);
if (shape == QTabBar::RoundedWest) {
bar->setIconSize(QSize(22, 22));
}
if (fancy) {
bar->setStyle(proxy_style_.get());
}
if (shape == QTabBar::RoundedNorth)
top_layout_->insertWidget(0, bar);
else
side_layout_->insertWidget(0, bar);
foreach (const Item& item, items_) {
if (item.type_ != Item::Type_Tab)
continue;
QString label = item.tab_label_;
if (shape == QTabBar::RoundedWest) {
label = QFontMetrics(font()).elidedText(label, Qt::ElideMiddle, 100);
}
int tab_id = -1;
if (icons && text)
tab_id = bar->addTab(item.tab_icon_, label);
else if (icons)
tab_id = bar->addTab(item.tab_icon_, QString());
else if (text)
tab_id = bar->addTab(label);
// Adds tooltips only in Tabs mode or IconOnlyTabs mode
// TODO in tab mode, show only if not elided, complicated since this doesn't inherit from QTabWidget
if (shape == QTabBar::RoundedNorth && ((!text && icons) || (text && !icons)))
bar->setTabToolTip(tab_id, item.tab_label_);
}
bar->setCurrentIndex(stack_->currentIndex());
connect(bar, SIGNAL(currentChanged(int)), SLOT(ShowWidget(int)));
tab_bar_ = bar;
}