Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Встраиваю виджет в QMenu

Автор: wiz29 7.9.2010, 8:59

Хотел спросить можно ли от QMenu добится появление рамки фрейма, который отвечает за resize и можно ли как то его настроить, так чтобы он (QMenu) не выставлял в минимално возможный размер виджет (имею ввыду виджет QMenu)? (собственно выставляю resize ничего не происходит, при появлении виджета QMenu всегда в минимально возможном размере).

BrushSelectMenu* bs(new BrushSelectMenu("Select brush"));
    menuBar()->addMenu(bs);

class BrushSelectMenu
    : public QMenu
{
    public:

        BrushSelectMenu(QWidget* parent = 0);
        BrushSelectMenu(const QString& title, QWidget* parent = 0);
        ~BrushSelectMenu();

    private:

        Ui::BrushSelectWidget m_brushSelectWidgetData;

};//class BrushSelectMenu

BrushSelectMenu::BrushSelectMenu(QWidget* parent)
    :QMenu(parent)
{
    m_brushSelectWidgetData.setupUi(this);    
}

BrushSelectMenu::BrushSelectMenu(const QString& title, QWidget* parent)
    :QMenu(title, parent)
{
    m_brushSelectWidgetData.setupUi(this);
}

BrushSelectMenu::~BrushSelectMenu()
{

}

Автор: Алексей1153 7.9.2010, 9:50

может быть, попробовать убрать эти флаги

Цитата
Qt::MSWindowsFixedSizeDialogHint 0x00000100 Gives the window a thin dialog border on Windows. This style is traditionally used for fixed-size dialogs.

Qt::FramelessWindowHint 0x00000800 Produces a borderless window. The user cannot move or resize a borderless window via the window system. On X11, the result of the flag is dependent on the window manager and its ability to understand Motif and/or NETWM hints. Most existing modern window managers can handle this.


setWindowState(WindowFlags()&=~(Qt::MSWindowsFixedSizeDialogHint|Qt::FramelessWindowHint));


Автор: Litkevich Yuriy 7.9.2010, 9:56

wiz29, по поводу оформления сообщений прочитай: http://www.forum.crossplatform.ru/index.php?showtopic=1455

тэг codebox лучше вообще неиспользовать

Автор: wiz29 7.9.2010, 10:11

Цитата(Litkevich Yuriy @ 7.9.2010, 10:56) *
wiz29, по поводу оформления сообщений прочитай: http://www.forum.crossplatform.ru/index.php?showtopic=1455

тэг codebox лучше вообще неиспользовать

спс, за подсказку, просто часто просят код, я не знал про оформление...

Цитата(Алексей1153 @ 7.9.2010, 10:50) *
может быть, попробовать убрать эти флаги
Цитата
Qt::MSWindowsFixedSizeDialogHint 0x00000100 Gives the window a thin dialog border on Windows. This style is traditionally used for fixed-size dialogs.

Qt::FramelessWindowHint 0x00000800 Produces a borderless window. The user cannot move or resize a borderless window via the window system. On X11, the result of the flag is dependent on the window manager and its ability to understand Motif and/or NETWM hints. Most existing modern window managers can handle this.


setWindowState(WindowFlags()&=~(Qt::MSWindowsFixedSizeDialogHint|Qt::FramelessWindowHint));


не помогает тут в чемто другом дело

Автор: Litkevich Yuriy 7.9.2010, 12:48

смотри QWidget::setFixedSize(...)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)