crossplatform.ru

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

История благодарностей участнику ilyabvt ::: Спасибо сказали: 45 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
14.12.2011, 9:30 [OpenGL] Перетащить точку
Сохранять координаты в отдельных переменных. И при каждом событии высчитывать разность координат (новых которые можно узнать через объект QMouseEvent и старых которые сохранены в переменных).
yuramuv,
6.12.2011, 23:08 получение QTabWidget
Ну можно передать объект QTabWidget через указатель, например в конструкторе (тогда не будет необходимости передавать его в методе addTab).
NewOrder *order = new NewOrder(NULL, id, ui->tabWidget_3);

Только не забудь добавить в секцию private: QTabWidget *tabWidget.
И в коде конструктора один указатель присвоить другому.
потом вызывать
 tabWidget->setTabIcon(number, icon);
B_u_R_n,
3.12.2011, 18:36 Ограничить перемещение курсора
Цитата
но при быстром - выходит за его пределы.

Проблема связана с тем что не успевает генерироваться событие. Можно решить путем установки EventFilter на приложение (QApplication), тогда можно будет контролировать координаты мыши даже если она успеет выйти за пределы виджета.
http://doc.qt.nokia.com/latest/eventsandfilters.html
http://doc.qt.nokia.com/latest/qobject.htm...tallEventFilter
Delaar,
3.12.2011, 2:32 Помогите дописать программу.
Раскрывающийся текст

#include <iostream>
#include <conio.h>
#include <vector>
using namespace std;

void ShowHex(unsigned int dec) {
    vector<char> hex;
    char hex_num[16] = {'0', '1', '2', '3', '4', '5', '6', '7',
                        '8', '9', 'A', 'B', 'C', 'D', 'E', 'F',
                       };

    while (dec/16 != 0) {
       hex.push_back(hex_num[dec%16]);
       dec = dec/16;
    }
    hex.push_back(hex_num[dec%16]);
    for (int i = hex.size()-1; i >= 0; i--) {
       cout << hex.at(i);
    }
}

unsigned char* GenerateBytes(unsigned int dec) {
   unsigned char *x = new unsigned char[4];
   x[0] = dec >> 24;
   x[1] = dec >> 16;
   x[2] = dec >> 8;
   x[3] = dec;
   return x;
}

bool CheckByte(unsigned char byte) {
    //195 = 11000011
    //66 = 01000010
    //129 = 10000001
    if (  (byte & 195 == 0) || (byte & 195 == 66) ||
          (byte & 195 == 129) || (byte & 195 == 195) ) {
        return true;
    }
    else
        return false;
}

int Castling(unsigned int dec) {
    unsigned char *bytes = GenerateBytes(dec);
    int number, number_byte[4];
    int count_symmetric = 4;
    for (int i = 0; i < 4; i++) {
       if (CheckByte(bytes[i]) == false) {
          number_byte[i] = int(bytes[i]) << 8*(3-i);
          count_symmetric--;
       }

    }

    //перестановка симметричных байтов
    if (count_symmetric == 1) {
       for (int i = 0; i < 4; i++) {
          if (CheckByte(bytes[i]) == true) {
             number_byte[i] = int(bytes[i]) << 8*(3-i);
          }
          break;
       }
    }
    else if (count_symmetric == 2 || count_symmetric == 3) {
       for (int i = 0; i < 4; i++) {
          if (CheckByte(bytes[i]) == true) {
             for (int j = 3; j > 0; j--) {
                if (CheckByte(bytes[j]) == true) {
                   number_byte[i] = int(bytes[j]) << 8*(3-i);
                   number_byte[j] = int(bytes[i]) << 8*(3-j);
                   break;
                }
             }
             break;
          }
       }
    }
    else if (count_symmetric == 4) {
       for (int i = 0; i < 4; i++) {
          number_byte[i] = int(bytes[3-i]) << 8*(3-i);
       }
    }

    number = number_byte[0] | number_byte[1] | number_byte[2] | number_byte[3];
    return number;
}
//---------------------------------------------------------------------------

int main()
{
unsigned int x, x_end;
cin >> x;

ShowHex(x);
cout << endl;
x_end = Castling(x);
ShowHex(x_end);
getch();
    return 0;
}


GenerateBytes разбивает число на отдельные байты.
CheckByte проверяет является ли байт симметричным.
P.S. Код получился громоздким, но у меня нет желания его оптимизировать.)) Алексей прав - это явно невменяемый преподаватель.
Ivan767,
23.11.2011, 15:42 Style - контр страйк ;) Vova,
20.11.2011, 13:42 Запись в QComboBox
Как-то так:
QSqlQuery query("Код запроса");
QComboBox comboBox;
while (query.next()) {
     comboBox.addItem(query.value(0).toString());
}

Но это при условии что запрос возвращает один столбец.
ff0000-00ff00,
16.11.2011, 13:30 QImage Яркость и контрастность
http://doc.qt.nokia.com/latest/qcolor.html#lighter
Вот эта функция по идее должна менять яркость цвета.
Nof1000,
12.11.2011, 17:29 error: cannot call member function и QDir
QDir().mkpath("/mypath");

?
RazrFalcon,
12.11.2011, 10:55 Передача большого количества аргументов между классами, потоками
Цитата(RazrFalcon @ 12.11.2011, 2:07) *
То есть передавать только указатель, а не весь класс?

Имеено:
void someFunc(MyClass *myClass);
или хватит и:
void someFunc(const MyClass &myClass);
? А то я в этом путаюсь <_<


В первом случае через указатель, во втором по ссылке. Хватит и ссылки, и даже без "const".
RazrFalcon,
10.11.2011, 23:53 Wi fi и Qt
Насколько я знаю, в Qt нет специальных классов для работы с Wi-Fi.
Смотреть в сторону:
http://doc.crossplatform.ru/qt/latest/qtnetwork.html
В частности я так думаю (может быть, наверное, вероятно и т.д.) пригодится класс QTcpSocket.
А для создания файла:
http://doc.crossplatform.ru/qt/latest/qfile.html
http://doc.crossplatform.ru/qt/latest/qdatastream.html
Maleha,
18.9.2011, 9:52 Хранение РУССКОГО СИМВОЛА в переменной
Попробуйте использовать UTF-8.
Петр91,
30.8.2011, 21:12 Событие максимизации ruzik,
26.8.2011, 21:49 Enter и Qt::Key_Enter не совпадают
Qt::Key_Return это основная клавиша Enter расположенная рядом с символами.
Qt::Key_Enter это клавиша Enter расположенная на цифровом блоке клавиатуры. На многих моделях ноутбуков ее например нет.
QMainWindow,
22.8.2011, 1:32 Очистка папки от файлов QMainWindow,
22.8.2011, 1:20 QTableWidgetItem: запретить редактирование
tableWidget->setEditTriggers(0);
Danmerpro,
9.8.2011, 17:00 Qcss. Изображения саб-контролов у виджетов.
http://www.forum.crossplatform.ru/index.php?showtopic=7278
Вот недавно уже была тема.
Andrewshkovskii,
4.8.2011, 16:01 Нажатие на кнопку посредством StyleSheet
QPushButton {
border: none;
padding: 0px;
}
QPushButton:pressed {
border: 3px double black; /*Двойная линия*/
border-radius: 7px; /*Дает красивую закругленность*/
padding: 4px 0px 0px 4px; /*Тот самый сдвиг*/
}

На счет сдвига: его направление можно менять в зависимости от соотношения величин передаваемых в качестве параметра, если они равны сдвига не будет.
P.S. Как удалить пост, а то он у меня случайно продублировался?
RazrFalcon,
27.7.2011, 22:02 setStyleSheet - делает некрасиво...
Вместо
"border: 1px solid red;"
поставьте
"QTextEdit { border: 1px solid red;  }"

Рискну предположить что подвох в том, что вы не конкретизируете цель стиля и он применяется не только к самому QTextEdi, но и к его скролу.
FantasyOr,
26.7.2011, 23:31 Как добавить отдельный UI(QFrame) во время работы программы?
Если я правильно понял суть проблемы то вам нужен класс QUiLoader
http://doc.qt.nokia.com/latest/quiloader.html
RazrFalcon,
6.7.2011, 20:37 В QTabBar сделать все вкладки невыбранными
Дело в том что окно имеет определенную минимальную ширину меньше которой нельзя сжать стоит добавить еще 2 таба и применять стиль не ко всему приложению а к конкретному виджету и проблема почти решена.
QTabBar tabBar;
    tabBar.addTab("");
    tabBar.addTab("1");
    tabBar.addTab("2");
    tabBar.addTab("3");
    tabBar.addTab("4");
    tabBar.addTab("5");
    tabBar.setStyleSheet(    "QTabBar::tab:first {"
                        "  max-width: 0px;"
                        "}"
                        );
    tabBar.show();


Почти потому что при изменении размеров QTabBar изменяются размеры табов включая тот которому это запрещено. Вот хз отчего это. Может проще свой таббар написать? Тебе от него сильно большая функциональность нужна?

Ну или как вариант поставить такой стиль что бы выбранная вкладка выглядела также как не выбранная. Что-нибудь типа:
QTabBar::tab {
   background-color: rgb(255, 255, 255);
   border: 2px solid blue;
   padding: 4px;
}

И ставить такой стиль, когда нужно будет поставить состояние "не выбрано ничего". Когда нужно выбрать вкладку можно будет вернуть стиль на такой что б выбранная вкладка как то выделялась.
P.S. В стилях не силен, но можно сделать достаточно красиво.
P.P.S. А по хорошему мне очень любопытно какого фига первый таб менял свой размер...
tp4,

2 страниц V  < 1 2
RSS Текстовая версия Сейчас: 23.4.2024, 16:48