Russian Qt Forum
Апрель 19, 2024, 00:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 117 118 [119] 120 121 122
1771  Qt / Пользовательский интерфейс (GUI) / Re: Общее контекстное меню для нескольких виджетов : Июль 04, 2012, 22:00
Я сделал так:
Код:
class myTextEdit: public QTextEdit
{
Q_OBJECT

signals:
    void showContextMenu(QPoint);

protected:
    virtual void contextMenuEvent(QContextMenuEvent *event)
    {
        emit showContextMenu(event->globalPos());
    }

class Widget: public QWidget
{
    Q_OBJECT
public:  
    Widget(QWidget *parent = 0)
    {
  
        connect(&textEdit, SIGNAL(showContextMenu(QPoint)),
                this, SLOT(showContextMenu(QPoint)));
    }

private:
    MyTextEdit textEdit;

private slots:
    void showContextMenu(QPoint point)
    {
        QMenu *menu = new QMenu();
        menu->addAction("Action1");
        menu->addAction("Action2");
        menu->exec(point);
        delete menu;
    }

protected:
    virtual void contextMenuEvent(QContextMenuEvent *event)
    {
        showContextMenu(event->globalPos());
    }
};

Так будет правильно?
По крайней мере этот код работает Улыбающийся
1772  Qt / Пользовательский интерфейс (GUI) / [РЕШЕНО] Общее контекстное меню для нескольких виджетов : Июль 04, 2012, 21:44
Здравствуйте!
есть класс, наследующий QWidget, имеющий
переопределенное событие void contextMenuEvent(QContextMenuEvent *event)

есть второй класс, наследующий QTextEdit, и тоже имеет
переопределенное событие void contextMenuEvent(QContextMenuEvent *event)

второй класс имеет родителя - первый

Обобщу: есть окно, оно содержит textEdit, у этого окна есть контекстное меню, но хочется чтобы при вызове контексного меню textEdit, показывалось контекстное меню окна  Улыбающийся

Как это сделать??

Подскажите пожалуйста!
1773  Программирование / Алгоритмы / Re: Граф. Алгоритм нахождения расстояния м/д вершинами. : Июль 03, 2012, 16:14
Igors, спасибо большое =)
осталось теперь перевести этот код на Java Улыбающийся, но это уже моя забота, да и похожи они синтаксисом Улыбающийся

DmitryM, не буду с вами спорить, я писал предположение, выдвинутое, благодаря знаниям (или их отсутствием, смотря с чем сравнивать), поэтому могу и ошибаться, но по крайней мере материал википедии я читал Улыбающийся
1774  Программирование / Алгоритмы / Re: Граф. Алгоритм нахождения расстояния м/д вершинами. Лень. : Июль 03, 2012, 14:44
Patrin Andrey, в алгоритме Дейкстры это представление не даст ничего хорошего, представим, что нужно найти минимальнй путь скажем от первой вершины до последней, вес у всех равен, следовательно, первый же путь окажется для такого алгоритма истинным (что не всегда хорошо), для условия моей задачи ориентации нет и нет у ребер веса, что определенно облегчает алгоритм поиска, и использовать для его решения Дейкстру не очень рационально, да и как я говорил выше, с генерацией и претворением алгоритмов у меня проблемы  Улыбающийся
Поэтому я и прошу у вас помощи Улыбающийся
1775  Программирование / Алгоритмы / Re: Граф. Алгоритм нахождения расстояния м/д вершинами. Лень. : Июль 03, 2012, 14:28
DmitryM, я написал что ребра графа не имеют веса, а алгоритм Дейкстры находит находит минимальное расстояние учитывая веса ребер
1776  Программирование / Алгоритмы / Re: Граф. Алгоритм нахождения расстояния м/д вершинами. Лень. : Июль 03, 2012, 13:50
Если полное условие, то:
есть файл, в нем:
  • кол-во вершин
  • кол-во ребер
  • связь м\д вершинами

например для графа
связь будет такой:
1->2
2->3
2->4
2->5
3->4
4->5
5->6

нужно вывести расстояние м/д 1 вершиной и всеми остальными

для данного графа, расстояние м/д 1 и 4 вершинами будет 2
1777  Программирование / Алгоритмы / [РЕШЕНО] Граф. Алгоритм нахождения расстояния м/д вершинами. : Июль 03, 2012, 12:33
Здравствуйте, форумчане!
Не пинайте меня пожалуйста!!  Улыбающийся
Нужен алгоритм поиска расстояния м/д вершинами графа,
граф не имеет ориентации и его ребра не имеют веса.
Он ооочень нужен, а в алгоритмах я не очень силен, вообще не силен Улыбающийся
Спасибо, заранее Улыбающийся
1778  Qt / Пользовательский интерфейс (GUI) / Re: Скрытие окна с taskbar : Июль 02, 2012, 04:04
Ну взял с того что у меня программа не закрывалась, когда юзал этот атрибут Смеющийся
Похоже это из-за того что я не описывал деструктор Улыбающийся
Спасибо за подсказку  Улыбающийся
не знал про qDebug( "deleted" ), но разве куДэбаг не используется только в отладочных версиях?? Покрайней мере у меня компилятор (MinGW) ругался, когда я компилировал под релиз, а qDebug забывал закомментировать Смеющийся
1779  Qt / Пользовательский интерфейс (GUI) / Re: Окно без рамки - изменение размеров окна с помощью мышки : Июль 01, 2012, 23:23
Придется поразбираться Улыбающийся
Спасибо за пример Улыбающийся
Правда почему то кажется что в нем есть лишний код...
1780  Qt / Пользовательский интерфейс (GUI) / Re: Окно без рамки - изменение размеров окна с помощью мышки : Июль 01, 2012, 22:49
Ну допустим, определил, а какая должна быть логика для "растягивания" окна или уменьшения??
1781  Qt / Пользовательский интерфейс (GUI) / Re: Окно без рамки - изменение размеров окна с помощью мышки : Июль 01, 2012, 22:46
Насчет убирания рамки, это потому что буду создавать программу, условие которой требуется нарисовать самому окошко=)
А окно при этом не должно быть ущербным)
1782  Qt / Пользовательский интерфейс (GUI) / [РЕШЕНО] Окно без рамки - изменение размеров окна с помощью мышки : Июль 01, 2012, 20:34
Здравствуйте Улыбающийся
Имеется виджет с флагом Qt::FramelessWindowHint, т.е. нет у него рамки, тянув которую можно изменить размер окошка, нет также заголовка с системными кнопками (свернуть, развернуть, закрыть) с полем, благодаря которому можно перемещать окно.
Если с перемещением окна проблем нет: в помощь идут события нажатия и перемещения мыши:
Код:
   QPoint position;

    void mousePressEvent(QMouseEvent *event)
    {
     position = event->pos();
    }

    void mouseMoveEvent(QMouseEvent *event)
    {
     move(event->globalPos() - position);
    }
};

то как программно сделать так чтобы у такого "укороченного" окна можно было изменить размер потянув за его края? Улыбающийся

Думаю тут нужно использовать теже события что и при перемещении окна, добавив к ним функцию resize() окна, ну и также проверять где находится указатель мышки, при нажатии оной, и если на границе окна, то... а что "то", я не знаю  Непонимающий
Помогите пожалуйста примерами Веселый
1783  Qt / Пользовательский интерфейс (GUI) / Re: Скрытие окна с taskbar : Июль 01, 2012, 20:10
Если использовать winApi, то пример будет таким:
Код:
class AbstractNote: public QWidget
{
    Q_OBJECT
public:
    explicit AbstractNote(QWidget *parent = 0)
    {
        setWindowFlags(Qt::Window | Qt::FramelessWindowHint);

        HWND hwnd = winId();

        SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_TOOLWINDOW);

        show();
    }

protected:
    virtual void paintEvent(QPaintEvent *)
    {
        QPainter painter(this);

        painter.setBrush(Qt::yellow);
        painter.drawRect(rect());
    }

    virtual void mouseDoubleClickEvent(QMouseEvent *)
    {
        close();
    }
};

это создание обычного виджета, без рамки, которого менеджер окон не показывает на панели задач, но хотелось бы кроссплатформенности Улыбающийся
1784  Qt / Пользовательский интерфейс (GUI) / Re: Скрытие окна с taskbar : Июль 01, 2012, 19:57
вот тестовый пример с использованием флага и атрибута:
Код:
class AbstractNote: public QWidget
{
    Q_OBJECT
public:
    explicit AbstractNote(QWidget *parent = 0)
    {
        setWindowFlags(Qt::SplashScreen);
        setAttribute(Qt::WA_DeleteOnClose);
    }

protected:
    virtual void paintEvent(QPaintEvent *)
    {
        QPainter painter(this);

        painter.setBrush(Qt::yellow);
        painter.drawRect(rect());
    }

    virtual void mouseDoubleClickEvent(QMouseEvent *)
    {
        close();
    }
};

1785  Qt / Пользовательский интерфейс (GUI) / Re: Скрытие окна с taskbar : Июль 01, 2012, 19:44
Да, не помогает этот атрибут
Страниц: 1 ... 117 118 [119] 120 121 122

Страница сгенерирована за 0.075 секунд. Запросов: 23.