crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Шуточный пример
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 16.4.2009, 15:03
  Тему разделил: QTableWidget, Как програмно реализовать перетаскивание?
Litkevich Yuriy Дата 16.4.2009, 14:02
 
Цитата(Гость_Гость_* @ 16.4.2009, 17:47) *
Вообще другое расширение удобней для поиска и архивации.
Это ты о чём? о какой архивации? И как это предложение связано с
Цитата(Гость_Гость_* @ 16.4.2009, 17:47) *
Чет и в асистанте не нахожу ничего на эту тему
?????

Цитата(Гость_Гость_* @ 16.4.2009, 17:47) *
А почему файл *.moc обычно moc_*.cpp от чего это зависит?
когда объявление класса помещено в отдельный заголовочный файл (myclass.h) программа qmake через make-файл говорит программе moc создать файл moc_myclass.cpp и автоматически добавляет этот файл в список зависимостей компилятора (опять же посредством make-файла).

когда иобъявление класса и его реализация помещены в один файл (myclass.cpp) , тогда программа qmake через make-файл говорит программе moc создать файл myclass.moc. НО НЕ добавляет этот файл в список зависимостей компилятора. Поэтому приходится делать это руками (#incude myclass.moc)

Цитата(Danila_Bagrofff @ 16.4.2009, 16:07) *
wdg->setParent(tbl);
tbl->setCellWidget(0,0, wdg);
тут я что-то совсем проглядел. Ты устанавливаешь и родителя и потом родителю виджет. Если нужно вставлять в ячейку, то устанавливать родителя не надо.

А вообще я чую тема сильно другая и видимо из области "Перетаскивания" (Drag-n-Drop), я прав?
Гость Дата 16.4.2009, 13:47
 
Цитата(Litkevich Yuriy @ 12.4.2009, 14:17) *
Тут написал шуточный примерчик, но может оказатся поучительным для новичков:



А почему файл *.moc обычно moc_*.cpp от чего это зависит? Вообще другое расширение удобней для поиска и архивации. Чет и в асистанте не нахожу ничего на эту тему
ЙаМайскЫйПчОЛ Дата 16.4.2009, 13:26
  добавь к кнопке setWindowFlags(Qt::FramelessWindowHint); симпатишней буде
Litkevich Yuriy Дата 12.4.2009, 23:17
 
Цитата(SABROG @ 13.4.2009, 3:00) *
Чем-то напоминает QDockWidget, только тут докинг окна при нажатии на кнопку происходит.
вполне возможно, что он примерно так и работает. Потому, наверное, в QMainWindow предусмотрены специальные места для парковки.
Kagami Дата 12.4.2009, 23:04
  Очень интересное решение
SABROG Дата 12.4.2009, 23:00
  Чем-то напоминает QDockWidget, только тут докинг окна при нажатии на кнопку происходит.
Litkevich Yuriy Дата 12.4.2009, 14:17
  Тут написал шуточный примерчик, но может оказатся поучительным для новичков:
Раскрывающийся текст
#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>


class MyButton : public QPushButton
{
Q_OBJECT
public:
    MyButton(QWidget *parent = 0);
public slots:
    void slotSetParent(bool checked);

private:
    QWidget *parent;

};

MyButton::MyButton(QWidget *p)
    : QPushButton(0)
{
    parent = p;
    setCheckable(true);
    setText("Click");
    connect(this, SIGNAL(clicked(bool)), this, SLOT(slotSetParent(bool)));
}

void MyButton::slotSetParent(bool checked)
{
    if (checked)
    {
        setParent(parent);
        parent->layout()->addWidget(this);
    }
    else
    {
        setParent(0);
        show();
    }
};

// нужнен после объявления класса, т.к. и объявление и реализация класса в одном файле.
#include "main.moc"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    
    QVBoxLayout    *lay = new QVBoxLayout();

    QWidget wgt;
    wgt.resize(150, 70);
    wgt.setLayout(lay);
    wgt.show();
    
    MyButton *btn = new MyButton(&wgt);
    btn->show();

    return app.exec();
}
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 21:42