Просмотр сообщений
|
Страниц: [1]
|
1
|
Qt / Вопросы новичков / WindowsFlags
|
: Октябрь 12, 2020, 15:13
|
Добрый день! Подскажите пожалуйста! Как настроить window флаги таким образом, чтобы была иконка и тайтл, без кнопок. Qt::Dialog | Qt::WindowTitleHint | Qt::CustomizeWindowHint добавляет только надпись, без иконки Добавление добавляет иконку, но вместе с кнопкой закрытия(X)
|
|
|
2
|
Qt / Многопоточное программирование, процессы / Watcher закрытия приложения
|
: Январь 14, 2020, 15:05
|
Добрый день! Есть приложение сохраняющее при закрытие настройки через QSettings(а следовательно и через виндовый реестр). Хотелось бы чтобы другие копии приложения этот момент ловили и предлагали юзеру обновить настройки(если они были изменены). Можно оно конечно было сделать через таймер, но это плохо. Второй вариант в QsharedMemory сохранять количество запущенных копий и при изменении проверять изменение настроек. Но QsharedMemory не отправляет никаких сигналов. Подскажите пожалуйста как лучше это сделать?
|
|
|
3
|
Qt / Вопросы новичков / QTableWidget высота по содержимому(кол-ву строк)
|
: Июнь 22, 2018, 18:41
|
Есть форма созданная в дизайнере, в ней есть Tab, а в нем QTableWidget. Хотелось бы что бы при добавлении строк высота таблицы(а заодно и диалога) менялась, а сейчас у меня или пустое место остается в таблице под строками если строк мало или скролбар если много.
|
|
|
4
|
Qt / Вопросы новичков / QTextDocument pages orientation
|
: Август 28, 2017, 17:10
|
Добрый день! Есть такой код, печатающий в файл строки на каждой отдельной странице : int main(int argc, char *argv[]) { QApplication a(argc, argv);
QPrinter printer; printer.setPaperSize(QPrinter::A4); printer.setOrientation(QPrinter::Portrait); printer.setFullPage(true); printer.setOutputFileName("text.pdf");
QVector<QString> titles; titles.push_back("Title 1"); titles.push_back("Title 2");
QString strStream; QTextStream out(&strStream);
for (int i = 0; i < titles.size(); i++) { out << "<html><head></head><body>"; out << "<p style=\"font-size:20pt\">" + titles.at(i) + "</p>"; out << "<div style=\"page-break-after:always\"></div>"; out << "</body></html>"; }
QTextDocument *document = new QTextDocument(); document->setHtml(strStream); document->print(&printer); delete document;
return a.exec(); }
Как его модифицировать, чтобы только первая страница распечаталась в портретной ориентации, а все остальные в горизонтальной?
|
|
|
5
|
Qt / Вопросы новичков / QML: добавление новых элементов в Menu
|
: Апрель 24, 2017, 18:14
|
Добрый день! Есть такой хеллоуворлд: import QtQuick 2.4 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.2 import QtQuick.Controls 1.4
ApplicationWindow { title: qsTr("Hello World!") width: 640 height: 480 visible: true
Menu{ id: tests }
MouseArea { anchors.fill: parent onClicked: { tests.addItem("test"); tests.popup() } } }
Все работает, только вот не пойму как задать новым элементам обработку сигнала нажатия(onTrigged)?
|
|
|
6
|
Qt / Вопросы новичков / вращение QImage без копирования
|
: Апрель 19, 2017, 18:54
|
Добрый день! Есть необходимость аллоцировать QImage из готового буфера. int main(int argc, char *argv[]) {
int width = 3; int height = 3; size_t t = width*height*4;
circular_buffer<uint8_t> rxRingBuffer(t); uint8_t* pBuf = &(rxRingBuffer.front());
QImage img((uchar*)pBuf, width, height, QImage::Format_ARGB32);
img.setPixel(0,0, 100);
for(int i = 0; i < t; i++){ cout<<(int)rxRingBuffer[i]<<endl; } return 0; }
И если setPixel отрабатывает нормально, то есть в rxRingBuffer лежит первым элементом 100. То теперь появилась необходимость вращать полученную QImage. QTransform rotating; rotating.rotate(45); img = img.transformed(rotating); memcpy(pBuf, img.bits(), t);
то помимо создания нового временного QImage необходимо копирование в исходный pBuf. Можно ли как-то обойти?
|
|
|
7
|
Qt / Qt Quick / ComboBox Label
|
: Апрель 03, 2017, 14:50
|
Добрый день! Как в QML реализовать ComboBox с надписью пользователю что-нибудь выбрать. То есть до нажатия там надпись "Выберите пакет", а после выбора одного из элементов эта надпись уже не появляется в списке. Сам список эл-тов беру из C++ модели(QStringList) и очень нежелательно эту надпись добавлять в C++.
|
|
|
9
|
Qt / Qt-инструментарий / Re: Подсветка синтаксиса в QtCreator
|
: Март 29, 2017, 17:39
|
QtCreator 4.2.1 #include <iostream> #include <chrono> #include <thread> #include <future> #include <map> using namespace std::chrono; using namespace std::chrono_literals; using namespace std;
int find_answer_to_the_ultimate_question_of_life() { std::map<int, int> mp; decltype(mp)::mapped_type t; // <-- unexpected token t
//Поиск ответа std::this_thread::sleep_for(5s); // <-- unexpected token ';' got '<error>' return 42; }
int main() {
std::future<int> f = std::async(std::launch::async, find_answer_to_the_ultimate_question_of_life);
if (f.wait_for(5500ms) == std::future_status::ready ) <-- unexpected token ')' got '<error>' std::cout << "Answer is: " << f.get() << "\n"; else std::cout << "Can't wait anymore\n"; return 0; } Юзаю qmake, поэтому вот pro-файл: TEMPLATE = app CONFIG += console CONFIG += c++14
SOURCES += main.cpp
QMAKE_CXXFLAGS=-std=c++14
|
|
|
10
|
Qt / Qt-инструментарий / Подсветка синтаксиса в QtCreator
|
: Март 29, 2017, 16:57
|
Добрый день! Креатор подсвечивает как ошибку совершенно исправный и компилирующийся gcc код из С++11 и С++14. Например: std::this_thread::sleep_for(5s); Или std::map<int, int> mp; decltype(mp)::mapped_type t;
Ужасно раздражает, можно ли что-то с этим сделать? Заранее спасибо
|
|
|
11
|
Qt / Вопросы новичков / разделить QTextDocument по страницам
|
: Июль 05, 2016, 15:54
|
Доброго времени суток. Имеется экземпляр QTextDocument, в котором есть много текста. В зависимости от настроек пользователя его надо отправить на печать весь или только выбранные страницы. Раньше эта задача решалась через QPrinter и setFromTo, но выяснилось что нормально установить принтер не получается и печатать нужно через echo. int from = spinBox1_->value(); int to = spinBox2_->value();
string newCodeString = document->toPlainText().toStdString();
string cmd = "echo \""; cmd += newCodeString; cmd += "\" | lpr.cups -P printer &"; system(cmd.c_str());
Так вот вопрос - как в newCodeString записать только выбранные пользователем страницы.
|
|
|
|
|