LINUX.ORG.RU

Сообщения Sakura

 

QTextEdit и ввод кириллицы

Добрый день!

Суть вопроса при вводе с клавиатуры в QTextEdit символов кириллицы вместо одного символа вводится два. Дополнительных коннектов на edit нет.

При переопределении для родительского виджета keyPressEvent() при вводи латиницы или цифр слот отрабатывает один раз, но при вводе кириллицы дважды. Подскажет кто-нибудь, где я дурак?

Header

#ifndef EXPENSE_H
#define EXPENSE_H

#include <QWidget>
#include <QtGui>

class Expense : public QWidget 
{
	Q_OBJECT

public:
	Expense(QWidget *parent);
	~Expense();

private:
	QTextEdit *txt;

	void createWindow();			
	virtual void keyPressEvent(QKeyEvent *);

};

#endif // EXPENSE_H

Sourse


#include "expense.h"

Expense::Expense(QWidget *parent):QWidget(parent){
	createWindow();	
}

Expense::~Expense(){
	delete txt;
}

void Expense::keyPressEvent(QKeyEvent * event){
	switch (event->key()){
		case Qt::Key_Escape: 
		case Qt::Key_Home:{
			close();	
			break;
		}
		case Qt::Key_Return:{
			if (event->modifiers() == Qt::ShiftModifier)
				txt->setText(txt->toPlainText()+"\n");
			else{
				txt->clear();
				close();
			}
			break;
		}
		default:{
			QString text = txt->toPlainText()+event->text();
			txt->clear();
			txt->setPlainText(text);
		}
	}
}

void Expense::createWindow(){
	QVBoxLayout * layout = new QVBoxLayout;

	txt = new QTextEdit(this);
	layout->addWidget(txt);
	setLayout(layout);	
}

 

Sakura
()

QProgressBar exception

Добрый день!

Пытаюсь сделать модальное окно с бесконечным QProgressBar. Но при вызове bar->setValue() получаю exceprion. Может кто подсказать, что я делаю не так?

( код )

 

Sakura
()

Qt Signal/Slot посчитать

Добрый день!

Пару дней назад разбирался со следующей ситуацией. После выполнения одной и той же операции несколько раз подряд, программа начинала заметно подтормаживать. Оказалось, что при каждом вызове происходил connect к слоту без последующего disconnect-а.

Так собственно и вопрос. Как можно отловить такие ситуации?

P.S. Можно, конечно, и руками, но это достаточно долго.

 , ,

Sakura
()

QWidget поверх QGraphicsScene. Как задать позицию виджета?

Примерный код:

...
QWidget* widget = new QWidget(this);
QGraphicsScene* scene = new QGraphicsScene(this); 
QGraphicsProxyWidget *proxy = scene->addWidget(widget);
scene->update();
...

После чего сцена кладется на layout. Виджет добавляется на (0,0), как собственно и написано в документации.

Собственно вопрос, как изменить положение виджета, после того, как он добавлен на сцену.

 , ,

Sakura
()

Работа со скриптами

Доброго времени суток всем!
Мне нужна помощь по работе со скриптами в Qt4. Собственно сам сабж:

Есть некий класс объявленный следующим образом:

( читать дальше... )

Есть другой класс, который использует экземпляр класса SomeMaker:


class SomeMakerUser: public QObject
{
	Q_OBJECT
public:
...
	SomeMakerUser();
	~SomeMakerUser();
        SomeMaker* maker;
...
private:
...
        void executeScript(); 
...
};	

Функция executeScript():

void executeScript()
{
        QScriptEngine* engine = new QScriptEngine(this);
        QScriptValue objectValue = engine->newQObject(this);
	engine->globalObject().setProperty("SomeMakerUser",objectValue);
        QString script = button->getScript();
	engine->evaluate("SomeMakerUser.maker.make1()").toString();
	qDebug()<<engine->hasUncaughtException();
}

И собственно вопрос: почему не срабатывает вызов функции make1.

 ,

Sakura
()

Поиск хоста в сети

Хочу задать вот какой вопрос. Есть ли в Qt уже реализованный велосипед, который позволяет найти некий ресурс в локальной сети (для примера хостов, слушающих определенный порт). Свой велосипед изобретать очень не хочется.

P.S. Буду рад любым дельным советам.
P.S.S. Быстрое гугление результатов не принесло.


Забыл добавить, что решение нужно кроссплатформенное.

 ,

Sakura
()

Переход с Qt4 на Qt5

Интересует вот какой вопрос: есть ли смысл переводить проект с Qt4 на Qt5.

Наиболее интересно:
- много ли геммороя будет с перевод?
- какие плюсы может дать перевод?
- если кто уже переводил проекты, то прошу отписаться какие подводные камни могут возникнуть?


Особенности проекта:
- Работа с COM-портами (сейчас через qextserialport и qserialdevice)
- работа с PostgreSQL (сейчас через pqxx)
- шифрование (qca)
- сборка под платформами Linux, Windows
- сериализация (json)
- работа с http (сейчас через QNetworkAccessManager)
- многопоточночть


Заранее спасибо отписавшимся.

 

Sakura
()

Проблема при подключении header-ов

Добрый вечер. Есть такая проблема, есть простейшая программа на C++ (HelloWorld). Собираю с помощью qmake, make. Если у меня есть просто один исходник, то сборка проходит нормально, но при попытке вынести инклуды в хедер make вылетает с ошибкой:

/home/sakura/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.7.2/../../../../arm-linux-gnueabihf/include/c++/4.7.2/arm-linux-gnueabihf/bits/os_defines.h:40:22: fatal error: features.h: No such file or directory
compilation terminated.

source
#include "aaa.h"

int main()
{
    printf("Hello World!");
    return 0;
}


header

#include "stdio.h"
Sakura
()

Qt кросс-компиляция для Raspberry PI

Добрый день. Кто-нибудь настраивал кросс-компиляцию в Qt под Raspberry? Если таковые имеются прошу поделиться опытом, ибо использование следующего мануала http://www.raspberrypi.ru/doc/view.36.html не принесло мне ничего хорошего. Если точнее, то приложение нормально компилируется, но на Raspberry запускаться отказывается (приложение элементарное - hello world). Спасибо.

Sakura
()

Аллоды Онлайн [v2.0.03.10] + linux возможно?

Собсно вопрос, есть Аллоды Онлайн [v2.0.03.10] и кубунту 10.10. На данный момент при запуске через wine1.3 выдаёт белый квадрат посередине экрана и всё. Кто-нить пробовал? И у кого что получилось?

Sakura
()

RSS подписка на новые темы