Russian Qt Forum
Май 11, 2024, 22:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2]
16  Qt / Пользовательский интерфейс (GUI) / Re: Фиксация строки в QTableWidget : Сентябрь 03, 2009, 15:59
Нет. Забудьте про Excel.
В OOo Calc такое тоже есть Подмигивающий
17  Qt / Пользовательский интерфейс (GUI) / Фиксация строки в QTableWidget : Сентябрь 03, 2009, 15:55
Добрый день!
Возможно ли в QTableWidget зафиксировать определённую строку/столбец, чтобы всё что до неё не прокручивалось при скроллинге?
18  Qt / Пользовательский интерфейс (GUI) / Re: Hidden window и QCloseEvent : Август 24, 2009, 09:41
тогда тебе сюда: http://qt.nokia.com/bugreport-form
опиши проблему и приложи свой test-case. а когда ответят, поделишься ответом здесь )
Вернулся из недельного отпуска, как будет время обновлю версию Qt и попробую в винде и линуксе...если останется без изменений, то попробую оформить тикет Улыбающийся
19  Qt / Пользовательский интерфейс (GUI) / Re: Hidden window и QCloseEvent : Август 14, 2009, 08:26
1. зачем главному окну Qt::WA_DeleteOnClose ?
Чтобы оно удалялось при закрытии Улыбающийся

Код
C++ (Qt)
int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
 a.setQuitOnLastWindowClosed( false );
 MainWindow w;
 w.show();
 return a.exec();
}

И обрабатываешь closeEvent
Можно и так, но хотелось бы понять почему в моём случае не срабатывает. Когда начал писать на Qt полистал официальную книгу и в ней одним из первых примеров был мой вариант с замечанием, что в данном примере память после закрытия не освобождается, для этого и выставляю атрибут Qt::WA_DeleteOnClose.
Вопрос-то собственно не в этом, а в том почему hidden окно не получает QCloseEvent  Непонимающий

UPD
Переписал как предложил Spectre, при вызове AppExit() из трея деструктор MainWindow начал вызываться, а вот QCloseEvent как не было, так и нет :-/
20  Qt / Пользовательский интерфейс (GUI) / Re: Hidden window и QCloseEvent : Август 13, 2009, 16:53
1. зачем главному окну Qt::WA_DeleteOnClose ?
Чтобы оно удалялось при закрытии Улыбающийся
Код:
int main(int argc, char *argv[])
{
  QApplication a(argc, argv);
  a.setQuitOnLastWindowClosed( false );
  MainWindow* w = new MainWindow();
  w->show();
  return a.exec();
}

Цитировать
2. уверен, что при вызове слота из контекстного меню трея, приложение завершается, а не крашит?
Qt Creator говорит, что завершается:
E:\tmp\test.exe exited with code 0
Qt 4.5.1
21  Qt / Пользовательский интерфейс (GUI) / Hidden window и QCloseEvent : Август 13, 2009, 16:24
Здравствуйте! Столкнулся со следующей проблемой:
Имеется главное окно QMainWindow, которое может сворачиваться в трей при минимизации. У окна установлен атрибут Qt::WA_DeleteOnClose.
Определён слот для закрытия приложения:
Код:
void AppExit()
{
  qApp->closeAllWindows();
  qApp->quit();
}
Если вызвать этот слот при развёрнутом окне - нормально вызывается деструктор главного окна и приложение завершается. Если окно свернуть в трей и из контекстного меню трея вызвать этот слот - приложение завершится, но деструктор окна не вызовется, т.к. окно не получает CloseEvent.
Посмотрел в асистанте:
Код:
bool QWidget::close ()   [slot]
First it sends the widget a QCloseEvent. The widget is hidden if it accepts the close event.
...
A close events is delivered to the widget no matter if the widget is visible or not.
...

void QWidget::hide ()   [slot]
Hides the widget. This function is equivalent to setVisible(false).
Получается, если окно уже hidden, то оно не получает CloseEvent? Но это противоречит указанному в документации по close.
Есть какое-то правильное решение, помимо вызова showNormal() перед qApp->closeAllWindows();
?
22  Qt / Работа с сетью / Re: QTcpSocket. Задержка в получении данных : Июнь 09, 2009, 16:52
while (tcpSocket->canReadLine()) {
...
}
Спасибо, помогло Улыбающийся
23  Qt / Работа с сетью / QTcpSocket. Задержка в получении данных : Июнь 09, 2009, 15:31
Здравствуйте! Столкнулся со следующей проблемой:
В локальной сети есть сервер, который по определённому порту отсылает данные в виде строки текста, которые содержат дату создания. Данные посылаются нерегулярно, но в среднем 3-5 строк в секунду. Необходимо написать тулзу, которая бы эти данные принимала, парсила и выдавала результат.
Код:
// создание сокета:
QTcpSocket *tcpSocket = new QTcpSocket( this );
connect(tcpSocket, SIGNAL( readyRead() ), this, SLOT( slotReadData() ) );
connect( tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(slotSocketError(QAbstractSocket::SocketError)) );
tcpSocket->connectToHost( "ip-адрес", порт );

// slotReadData()
void FirstWindow::slotReadData()
{
QByteArray ba;
ba = tcpSocket->readLine( tcpSocket->bytesAvailable() );
qDebug() << ba;
}
В принципе всё работает, но приложение не успевает обрабатывать приходящие данные. Если после старта приложения время получения строки почти совпадает с временем её создания, то минут через 10, разница составляет 2-3 минуты.
В чём может быть причина?
Страниц: 1 [2]

Страница сгенерирована за 0.093 секунд. Запросов: 23.