当前位置: 首页>>代码示例>>C++>>正文


C++ QTabWidget::geometry方法代码示例

本文整理汇总了C++中QTabWidget::geometry方法的典型用法代码示例。如果您正苦于以下问题:C++ QTabWidget::geometry方法的具体用法?C++ QTabWidget::geometry怎么用?C++ QTabWidget::geometry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QTabWidget的用法示例。


在下文中一共展示了QTabWidget::geometry方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: isCursorOnTabWithEmptyArea

/**
 * @brief 마우스 커서가 MainWindow의 탭영역(1,2,3)에 올라가있는지 확인한다.
 *
 *   +-------------------------------+-+-+-+
 *   |   TITLE BAR                   |_|O|X|
 *   +----------+----------+---------+-+-+-+
 *   |##1(Tab)##|##2(Tab)##|###3(Empty)####|
 *   +----------+----------+---------------+
 *   |                                     |
 *   |                   4                 |
 *   |                                     |
 *   +-------------------------------------+
 *
 *   TabBar::geometry()는 1,2영역을 나타내고, TabWidget::geometry()는 1,2,3,4영역을 나타낸다.
 *   이 두 geometry()를 연산해서 1,2,3 영역을 찾는다.
 *
 * @param mainWindow 대상 메인 윈도
 * @return bool
 *
 */
bool CWindowManager::isCursorOnTabWithEmptyArea(MainWindow *mainWindow)
{
    QRect barRect;
    QRect barRectG;
    QRect widgetRect;
    QRect widgetRectG;

    QTabBar* tabBar = 0;
    QTabWidget* tabWidget = 0;

    if(!mainWindow)
        return false;

    tabBar = mainWindow->getTabBar();
    tabWidget = mainWindow->getTabWidget();

    barRect = tabBar->geometry();
    widgetRect = tabWidget->geometry();

    barRectG.setTopLeft(tabBar->mapToGlobal(barRect.topLeft()));
    barRectG.setBottomRight(tabBar->mapToGlobal(barRect.bottomRight()));

    widgetRectG.setTopLeft(tabWidget->mapToGlobal(widgetRect.topLeft()));
    widgetRectG.setBottomRight(tabWidget->mapToGlobal(widgetRect.bottomRight()));

    widgetRectG.setTopLeft(QPoint(widgetRectG.topLeft().x(), barRectG.topLeft().y()));
    widgetRectG.setBottomRight(QPoint(widgetRectG.bottomRight().x(), barRectG.bottomRight().y()));

    return widgetRectG.contains(QCursor::pos());
}
开发者ID:MidoriYakumo,项目名称:tearofftabwindow-qt,代码行数:50,代码来源:cwindowmanager.cpp


注:本文中的QTabWidget::geometry方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。