• Qmake not using precompiled headers?

    @Mercury13
    Программист на «си с крестами» и не только
    По документации Qt, нельзя.

    Зато можно исключить Си++ из предкомпиляции простым методом.

    // Add C includes here
    
    #if defined __cplusplus
    // Add C++ includes here
    #include <stdlib>
    #include <iostream>
    #include <vector>
    #include <QApplication> // Qt includes
    #include <QPushButton>
    #include <QLabel>
    #include "thirdparty/include/libmain.h"
    #include "my_stable_class.h"
    ...
    #endif


    doc.qt.io/qt-5/qmake-precompiledheaders.html

    Самому так пригодилось (правда, на MinGW, а не на MSVC).
    Ответ написан
    1 комментарий
  • Как получить перечисления контролов при создании или инициализации диалога?

    В OnInitDialog() пройтись циклом по всем элементам, выбрать те что IDC_STATIC и сделать с ними, что нужно.
    CWnd* pwndChild = GetWindow(GW_CHILD);
    while (pwndChild)
    {
    	if(pWndChild->GetDlgCtrlID() == IDC_STATIC)
            {
                // делаем что надо
            }
    
    	pwndChild = pwndChild->GetNextWindow();
    };
    Ответ написан
    1 комментарий
  • Как установить PyGame на Python 3.4?

    @fidgethard
    https://bitbucket.org/pygame/pygame/downloads
    - вот здесь лежит для 3.4
    Ответ написан
    Комментировать
  • Сглаживание линий в openGL?

    bobrovskyserg
    @bobrovskyserg
    Ответ написан
    Комментировать
  • C++11 и callback-функции... Есть что-нибудь новое?

    @hiloader
    Появился враппер std::function. С ним вы можете использовать и функцию, и функтор. Удобно использовать с лямбдами или с std::bind.
    #include <iostream>
    #include <functional>
    
    using namespace std;
    
    class MyClass {
    public:
            void hello() {
                    cout << "Hello from " << __LINE__ << endl;
            }
    };
    
    
    static void hello() {
            cout << "Hello from " << __LINE__ << endl;
    }
    
    static void do_with_callback( std::function<void()> && callback ) {
            callback();
    }
    
    int main() {
            MyClass cl;
    
            do_with_callback( std::function<void()>(hello) ); // VC 2012 fix
            do_with_callback( std::bind(&MyClass::hello, &cl) );
            do_with_callback( [&](){
                    cl.hello();
            } );
    
            return 0;
    }

    Вывод:
    Hello from 15
    Hello from 9
    Hello from 9
    Ответ написан
    2 комментария
  • Доп. параметр для Item'ов в QTableView?

    @silver47
    QTableView с чего данные получает. Если от QSqlQueryModel, то нужно наследоваться от QSqlQueryModel и менять уже там. Вырезки из моей модели, приблизительно показывает как это можно сделать.
    mymodel.h
    class MyModel : public QSqlQueryModel{
        Q_OBJECT
    public:
                                MyModel(QObject *parent = 0);
        QVariant           data(const QModelIndex &index, int role = Qt::DisplayRole) const;
    };
    //==== Модель Таблицы ====


    mymodel.cpp
    QVariant DownloadTabModel::data(const QModelIndex &index, int role) const {
        QVariant value = QSqlQueryModel::data(index, role); // получили значение определенное
                                                            // в базовом классе
        switch (role) { // в зависимости от параметра роль:
                        // Qt::DisplayRole - данные для отображения ячейки таблицы
                        // Qt::EditRole    - данные для режима редактирования
                        // Qt::TextColorRole - цвет текста
                        // Qt::TextAlignmentRole - выравнивание
                        // Qt::FontRole - параметры шрифта
                        // Qt::BackgroundColorRole - цвет фона ячейки
                        // Qt::CheckStateRole - отображение QCheckBox
                        // Qt::SizeHintRole - предпочитаемый размер ячейки
    
        
        case Qt::TextColorRole: // Цвет текста
    //        if(index.column() == 1)
    //            return qVariantFromValue(QColor(Qt::blue));
    //        else
                return value;
        case Qt::BackgroundColorRole: {  // Цвет фона        
            if(index.sibling(index.row(), 0).data(Qt::DisplayRole).toString() != QObject::trUtf8("Ок")){            
                return qVariantFromValue(QColor(240, 180, 180));
            }else{
                if(QDateTime::fromString(index.sibling(index.row(), 1).data(Qt::DisplayRole).toString(), "dd.MM.yyyy hh:mm").secsTo(QDateTime::currentDateTime()) < 24 * 3600){
                    return qVariantFromValue(QColor(180, 240, 180));
                }else if(QDateTime::fromString(index.sibling(index.row(), 1).data(Qt::DisplayRole).toString(), "dd.MM.yyyy hh:mm").secsTo(QDateTime::currentDateTime()) > 24 * 3600 * 30){
                    return qVariantFromValue(QColor(240, 240, 180));
                }
            }
        }        
        return value;
    }
    Ответ написан
    Комментировать
  • При долгом отключении что делать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    "абырвалг"
    Перефразируйте вопрос, ничего не понятно! Что, когда, куда, зачем...
    Попробую догадаться.
    1) На макбуке в режиме bootcamp (?) установлена Win8
    2) Кто-то обновил драйвер (а какой?)
    3) Что-то работало 2 минуты, а стало работать 15 секунд?
    4) Операционка (Win8?) не выключается самостоятельно?
    5) Именно после обновления (каких драйверов?) стала греться (этого драйвера?). а теперь не греется(?)!
    6) Разобрали макбук (зачем?), поменяли термопасту (????)
    7) Что делать не знаем, когда макбук долго не работал? (При долгом отключении что делать?)
    Ответ написан
    6 комментариев