2014-01-01から1年間の記事一覧

ドラッグ&ドロップ処理の悩み

QDrag* drag = new QDrag( this ); QMimeData *mimeData = new QMimeData(); mimeData->setText( path ); drag->setMimeData( mimeData ); drag->setPixmap( iconPixmap ); Qt::DropAction dropAction = drag->exec(); のような形でドラッグ&ドロップ処理を…

DockWidgetだけど、常にFloating状態にしたい

QDockWidget::setFeatures( ... ) じゃ指定できなさそうです。

Qt4.7.4 に戻しました

App

http://d.hatena.ne.jp/QtCoder/20140710 (Qt5 に差し替えました 一ヶ月前、Qt5化したアプリケーションを公開したのですが、あまりにトラブルが多いので、結局 Windows/Mac版ともに Qt4.7.4 に戻しました。スーパーハッカーじゃないので、原因の分からないト…

Qt5から Restoreメニューが消えた

MDIの子ウィンドウのタイトル上で右クリックをした時のポップアップから、Restoreメニューが表示されなくなりました (Qt4.7では表示)。どうやったら表示できるのでしょうか…。 Qt4.7.4 Qt 5.3.0

Qt5でプリンタを取得できない事がある

QPrinterInfo pi = QPrinterInfo::defaultPrinter(); if (pi.isNull()) { // プリンタを取得できない QMessageBox::warning( this, "", "", QMessageBox::Ok ); return; } 以上のコードで、Qt4.7.4では概ねプリンタを取得できていましたが、Qt5だとプリンタ…

Mac OS X 10.7 (Lion) だと落ちる

バグなのかよく分かりませんが、Qt5.3.1 で開発しているアプリケーションの、DockWidgetのタイトルバーを何度かダブルクリックすると(ドッキングしたり解除したりを繰り返す)、 Application Specific Information: objc_msgSend() selector name: mouseUp:…

MainWindow::closeEvent が二回呼ばれる

バグなのか仕様なのか、よく分かりませんが、Mac版のQt5.3.0 で、 赤いボタンでアプリケーションを閉じると、closeEventは1度しか呼ばれない メニューから "Quit Hoge(アプリ名)" を実行すると、closeEventが2度呼ばれる 同じ悩みを抱えてる人はいないだろ…

Win32でフォントを列挙する (QtでWin32 API を使う)

int gFontCount = 0; int CALLBACK EnumFontProc( ENUMLOGFONTEX* lpelf, NEWTEXTMETRIC* lpntm, DWORD fontType, LPARAM lParam ) { gFontCount++; Widget* widget = (Widget*)lParam; widget->setWindowTitle( QString::number(gFontCount) ); std::wstrin…

FireAlpaca を Qt5 に差し替えました

App

http://firealpaca.com/beta (FireAlpaca Beta研究室 日本 Qtユーザー会の皆様に助けて頂きながら、FireAlpacaのライブラリを Qt4.7.4 から Qt5.3.0 に差し替える事ができました。ありがとうございました。まだ正式版ではないですが、お試し頂ければ幸いです…

nativeEventFilter ってどうやってハンドルするの?

Windowsで、ウィンドウメッセージ (WM_KEYDOWN とか) みたいなネイティブメッセージをハンドルしたい時、どうするのか調べてみました。nativeEventFilter( ... ) を TMainWindow や QApplication でオーバーライドしてもメッセージが飛んでこなかったので挫…

Qt5.3.0 (Windows) の TabletEvent がおかしい

Qtではペンタブレットの使用時、 QEvent::TabletEnterProximity (ペンを認識した) QEvent::TabletLeaveProximity (ペンを認識できなくなった) というイベントが発生しますが、Qt5.3.0 (Windows) だと、QEvent::TabletLeaveProximity が発生しません。QEvent:…

Qt5.3.0 (Mac版) で、単体キーのショートカットを受け付けない

FireAlpacaでは、前景色・背景色の入れ替えを、Xキーに割り当てています。 ui->action_Hoge->setShortcut( tr("X") ); ui->action_Hoge->setShortcut( QKeySequence( Qt::Key_X ) ); // これもダメ Qt4.7までは、Windows版もMac版も上手く動作していました。…

pthreadの代わりに、QtConcurrentRunを使う

pthreadを使う方法が分からなかったんですが、「QtConcurrentを使うと良い」というアドバイスを頂いたので、試してみました(実戦投入はまだです)。Debugモードじゃないと最適化されて一瞬で終わる模様。 #include <QtConcurrentRun> #include <QElapsedTimer> struct TParam { int threadIn</qelapsedtimer></qtconcurrentrun>…