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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 135 136 [137]
2041  Qt / 2D и 3D графика / Работа с QImage : Февраль 22, 2007, 14:34
в смысле работа с пикселями ? Улыбающийся
2042  Qt / 2D и 3D графика / QPainter: полупрозрачный цвет : Февраль 21, 2007, 12:23
На виджете нарисованы некие объекты. Возможно ли
с помощью QPainter нарисовать на этом виджете,
скажем, прямоугольник rect(x, y, width, height) цвета color так, чтобы
фон (т.е. объекты под прямоугольником) внутри этого прямоугольника не затёрся,
а подсветился цветом color ?

Можно конечно использовать drawTiledPixmap(x, y, width, height, pixmap_with_alpha)
с полупрозрачным пиксмапом, но это очень медленно, особенно при перерисовке Грустный
2043  Qt / Пользовательский интерфейс (GUI) / Сокрытие заголовка окна. : Февраль 19, 2007, 13:36
У меня в XP всё работает:

Код:

#include <qapplication.h>
#include <qwidget.h>
#include <qdialog.h>

#include <stdio.h>

class M : public QWidget
{
    public:
        M() : QWidget()
        {
            QDialog *d = new QDialog(this, "dialog", true, WStyle_Customize | Qt::WStyle_NoBorder);
            d->setCaption("Dialog");
            d->exec();
        }

        ~M()
        {}
};

int main( int argc, char **argv )
{
    QApplication a( argc, argv );

    M *m = new M;

    a.setMainWidget(m);

    m->show();

    int result = a.exec();

    delete m;

    return result;
}



Диалог появляется без рамки.

Кстати, ээээ, у тебя в конструкторе MainForm() 3 параметра, а не 4. A QDialog() принимает 4 параметра.
2044  Qt / Общие вопросы / QT 4.2.2 Медленная работа сигнал-слот : Февраль 16, 2007, 14:49
это дублирование кода из QProgressBar. Так тоже есть проверки на текущее значение != новое значение. Дело не в значениях, а в том, что отрисовка текущего прогресса с помощью QStyle работает крайне медленно.
2045  Qt / Общие вопросы / QT 4.2.2 Медленная работа сигнал-слот : Февраль 15, 2007, 14:38
не используйте QProgressBar в time-cost приложениях ! Он ОЧЕНЬ медленный. Лучше напишите свой на онове QWidget+QPainter. Он будет работать в ~10 раз быстрее. Подмигивающий
2046  Qt / Общие вопросы / Подскажите, как лучше сделать обработку кнопок? : Февраль 15, 2007, 12:12
Цитата: "Skala"
Спасибо!
Только я пока не понял: Один str ставитс несколько кнопок и они будут видны?


Изучайте С++ Подмигивающий Главное, что вы создаёте новые объекты. Где будут храниться указатели на них в данном примере не важно, поэтому можно юзать один локальный указатель.
2047  Qt / Общие вопросы / Подскажите, как лучше сделать обработку кнопок? : Февраль 15, 2007, 11:35
Код:


void Class::initClass()
{
    QGroupBox *stringsGroup = new QButtonGroup(tr("Strings"));
    Strings *str;

    str = new Strings("&1 Vriant",this,"some commands");
    stringsGroup->addButton(str,1);//id
    connect(str, SIGNAL(clicked()), this, SLOT(slotButtonPressed()));

    str = new Strings("&2 Vriant",this,"some commands2");
    stringsGroup->addButton(str,2);//id
    connect(str, SIGNAL(clicked()), this, SLOT(slotButtonPressed()));

    str = new Strings("&3 Vriant",this,"some commands3");
    stringsGroup->addButton(str,3);//id
    connect(str, SIGNAL(clicked()), this, SLOT(slotButtonPressed()));

    layout->addWidget(stringsGroup, 2, 0);
}

void Class::slotButtonPressed()
{
      Strings *s = dynamic_cast<Strings *>(sender());

      s->...
}


?
2048  Qt / Пользовательский интерфейс (GUI) / [Qt 3.3.x] Добавление scroll к QListView : Февраль 15, 2007, 11:28
Код:

void QScrollView::setVScrollBarMode ( ScrollBarMode ) [virtual]

Sets the mode for the vertical scroll bar. See the "vScrollBarMode" property for details.


?
2049  Qt / Пользовательский интерфейс (GUI) / [QT3] фон для QListViewItem-а : Февраль 15, 2007, 11:19
Для QListViewItem-а можно задать свой фон, переопределив paintCell():

Код:

void MListViewItem::paintCell(QPainter *p, const QColorGroup &cg,
int column, int width, int align)
{
    QColorGroup cc = cg;

// фон будет красным, если надо
    if(shouldBeRed())
        cc.setColor(QColorGroup::Base, Qt::red);

// нарисовать
    QListViewItem::paintCell(p, cc, column, width, align);
}


А вот как отрисовать фон для итема по всей ширине вьюпорта, например как в ACDSee ?



Если использовать
Код:

void MListViewItem::paintCell(QPainter *p, const QColorGroup &cg,
int column, int width, int align)
{
    QColorGroup cc = cg;

// простой хак для отрисовки региона слева от элемента
    p->save();
    p->translate(-100, 0);
    p->fillRect(0,0,100,16,gray);
    p->restore();

    if(shouldBeRed())
          cc.setColor(QColorGroup::Base, Qt::red);

    QListViewItem::paintCell(p, cc, column, width, align);
}

В результате рисуется необходимая область слева от итема, НО
затираются ветки дерева с плюсиками ('+'), т.е. во вьюпорте
видны ТОЛЬКО итемы.

Бьюсь с этой проблемой уже давно, чего только не перепробовал.  Грустный
Может кто-нибудь что-нибудь подскажет ?
Спасибо.
Страниц: 1 ... 135 136 [137]

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