- 1 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 04:29:47 ]
- Qt(キュート)は C++ ベースの GUI ライブラリです。
フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、グラフィックス(OpenGL)や 各種コンテナ、XMLパーサー、組み込み JavaScript など、ライブラリの機能は多岐に渡ります。 また、「Qt Creator」という GUI ビルダ付きの専用 IDE が用意されています。 ■対応プラットフォーム(デスクトップ用途の場合) Windows 98, Me, NT4, XP, Server2003, Vista Mac OS X 10.3, 10.4, 10.5 Linux ■ライセンス ・オープンソース版(Open-source version) LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。 LGPL を選んだ場合は商用利用が可能です(いくつか制限あり)。 ・商用版(Commercial version) こっちはQt Softwareか日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います ■Qt を使って作られたソフト例 KDE、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio など ■前スレ [KDE/Qt]Qtについての疑問を教えあうスレ 3 pc11.2ch.net/test/read.cgi/tech/1194158506/
- 231 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 21:13:23 ]
- どうもDesignerでダイアログをデザインすると、できるソース(ui_xxx.h))がおかしくないですか?
ウィジェットを色々配置して何らかのレイアウトを使うとui_xxx.hのclass Ui_xxxのメンバに無意 味と思えるQWidget*のインスタンスwidgetができるのですがなんでしょうね。
- 232 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 07:28:23 ]
- >>228 231
多分 designer のレイアウトの使い方が間違ってる。 top level widget にレイアウトを割り当てるときには レイアウトしたいwidgetをマークしてレイアウトを選ぶのではなく、 top level widget(この場合は最上位のDialog)を選んでレイアウトを選択する。 ( レイアウトを新たに作るのではなく、Dialogにレイアウトを割り当てる) Object Treeで Dialog の直下にレイアウトがないのに レイアウトが反映されている状態が正常。 Dialogのプロパティに Layout があるかどうかをチェック。 designerのこの仕様は正直わかりにくい。
- 233 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 12:09:46 ]
- それ、わかり辛いですね。
教えて頂き、ありがとうございます。
- 234 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 22:59:58 ]
- WindowsにてMinGWでビルドしたのですが、
QtCore4.dll,QtGui4.dll,QtNetwork4.dll,mingwの(名前忘れた).dll が配布時に必要ですよね。 これらのdllって、\qt2009.2\Qt\binから持ってくるべきですか? それとも\qt2009.2\binから持ってくるべきですか? それと、それらのexeファイルとdllの位置関係なのですが、 同じディレクトリに入れればいいのでしょうか。 プロジェクトファイルで指定ですか?? とりあえず、Qtの無い環境で、上のdll4つ、 同じ場所においてDependencyWalkerで走らせたのですが、 dllがないってエラー吐かれてしまいました。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 06:41:36 ]
- >>234
debugでビルドしたものではありませんか? debugビルドした場合は、QtCore4d.dllなどの ファイル名が〜dとなっているDLLに依存しますよ
- 236 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 08:45:57 ]
- QWinWidgetクラスを使うとWin32APIとごちゃまぜで使えそうなんですが、
LinuxとかWindowsCEとかはどうやってごちゃ混ぜに書くんでしょうか?
- 237 名前:234 mailto:sage [2009/05/29(金) 12:24:15 ]
- releaseですね…。
debugでビルドしたものは4MB近くあるのに対して、 releaseでビルドしたものは100KBなので、間違いないです。 ちなみに、プロジェクトファイルは以下のようになっています。 TEMPLATE = app TARGET = ./bin/myApp DEPENDPATH += ./src INCLUDEPATH += ./src
- 238 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 12:56:04 ]
- >>234
具体的にどのdllがないっていわれる? 簡単なアプリなら app.exe QtCore4.dll QtGui4.dll mingwm10.dll だけでうごいてるけど。 画像を扱う場合などは plugins の下を適当にコピーして場所を設定する必要があるかも。 ただし、この場合のエラーは別の原因だと思うが。
- 239 名前:234 mailto:sage [2009/05/29(金) 13:27:23 ]
- Dependency Walker下で実行すると、
MSJAVAとかを抜きにすれば、 QtCore4.dll QtGui4.dll QtNetwork4.dll mingwm10.dll のすべてが赤い表示になってしまいます。 画像はpngファイルをアイコンとして使っていますが、 仰っているように、 GUI表示されたときにきちんと表示されているので、 問題は他にあるのでしょう。
- 240 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 14:09:13 ]
- Vista(Qt SDK はインストールしたがPATHは通ってない状態)で
app.exe だけある状態で Dependency Walker (2.2) を動かすと MINGWM10.DLL, QTCORE4.DLL QTGUI4.DLL がないと言われる。 app.exe と同じディレクトリに上記の3つのDLLをコピーすると問題なし。 (WARNINGはあるが、動作する)。 コピー元は C:\Qt\2009.02\qt\bin その場合にツリー表示されているDLLは KERNEL32.DLL, MSVCRT.DLL, MINGWM10.DLL, QTCORE4.DLL, QTGUI4.DLL の5つ。後ろの3つ(or +QTNETWORK4.DLL)をコピーすれば、うまくいくはずだが…。
- 241 名前:234 mailto:sage [2009/05/29(金) 14:19:37 ]
- >240
ありがとうございます。 プロジェクトファイルでの記述は無関係でしょうか?? リファレンスを読む限りでは、 同一ソリューション内の別プロジェクトに、 依存する場合は云々と書かれているので、 おそらく関係ないんでしょうね…?
- 242 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 14:31:19 ]
- >>241
ビルドできていれば問題ないとは思うけど。 proファイルはこれだけ(Creatorで作成)。 app_bundle は Macにしか効果がないようなのでCONFIGはほぼ無関係。 TARGET = app CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp そこそこ規模のあるアプリで試しているようなので、 簡単なものでチェックしてみては。
- 243 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:58:28 ]
- Qtで簡単 GUIプログラミング―Qt入門書を読む前に読む「入門書」
ttp://www.amazon.co.jp/dp/4877832211/ こんな本出てたんだなとおもったら、いきなり評価☆一つとはw
- 244 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 16:04:35 ]
- しかしこの評価もなんだかなぁ
この人にとっては役に立たなかったんだろうけど まぁ俺にも役立ちそうに無いが
- 245 名前:234 mailto:sage [2009/05/29(金) 16:11:11 ]
- 簡単なHelloWorldでもダメでしたorz
ビルド環境にも問題があるような気がしてきました。 Athlon64マシンにWindowsXP32bit版、MinGW32でビルドした場合、 動く構成はどのようになるのでしょうか。
- 246 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 18:48:30 ]
- 俺のとこはMingwでもvisual c++でも動くけどなあ。
linuxのgccでも動く。 セロリンだけど。
- 247 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 18:51:21 ]
- 思いついた!dllへのパスが通ってないんじゃね?
- 248 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 03:01:14 ]
- Windowsのファイルのプロパティで出力されるバージョン情報を扱うクラスはありますか?
setApplicationNameやsetOrganizationNameがそれだと思ったのですが違うようで。
- 249 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 11:35:32 ]
- >>248
そういう機能はqmakeの方だな。 ttp://doc.qtsoftware.com/4.5/qmake-variable-reference.html#version
- 250 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 12:11:10 ]
- >>249
VERSIONは与えられました。 qmakeの変数には見当たりませんが会社名等は扱えないのでしょうか? MFCのリソースのようなものがあれば良かったのですが。
- 251 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 13:40:42 ]
- Win32リソースのことだろ?
そういうのはwindresを使うものと思ってたが
- 252 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:15:40 ]
- >>250
マニュアルにはないけれど、 QMAKE_TARGET_COMPANY 他の関係変数は QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT 詳しくは qmake のソースを。(qt\qmake\generators\win32\winmakefile.cpp)
- 253 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:53:09 ]
- ありがとうございます。
マニュアルにないということは将来別の方法でサポートする可能性があるのでしょうかね。 qdoc3も表に出していないツールのようで、どうもDoxygenを使った方が良いようですし。
- 254 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 15:16:14 ]
- 変数名くらいは変わる可能性あるかもな。
機能がなくなることはないと思うが、気になるようならrcファイルを作って、 RC_FILE でそのファイルを指定するようにした方が確かなのかもしれない。 RC_FILE についてはマニュアルに記載してある。
- 255 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 16:23:50 ]
- QHeaderView::setResizeMode(int, QHeaderView::ResizeMode) について質問です。
以下のようにモデルが設定されていない、あるいはモデルのデータがない状態で QHeaderView::setResizeMode(int, QHeaderView::ResizeMode) を呼ぶとプログラムが落ちます。 QTreeView view; view.header()->setResizeMode(0, QHeaderView::Interactive); or QTreeView view; QStandardItemModel *model = new QStandardItemModel(); view.setModel(model); view.header()->setResizeMode(0, QHeaderView::Interactive); 代わりに QHeaderView::setResizeMode(QHeaderView::ResizeMode) を呼んだ場合は落ちることはありません。この動作は仕様なのでしょうか? QHeaderViewを継承してサブクラスを作成し、第一列のみサイズ変更可能にしたいのですが・・・何か対処方法をご存知の方、別のアイディアをお持ちの方がいればよろしくお願いします。
- 256 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:35:03 ]
- >>255
ASSERT出して落ちてるな。 ASSERT: "visual != -1" in file itemviews\qheaderview.cpp, line 1168 基本的に落ちるのはバグ。 qt-bugsにメール出して直してもらうのが一番。
- 257 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:48:14 ]
- >>256
確認ありがとうございます。 やっぱりバグなんですかね。トラック見てもそれらしいものが見つからなかったので、とりあえずメール出してきました。 しばらくはモデルのデータセット後にsetResizeMode()を呼ぶことにします。
- 258 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 19:05:58 ]
- floatingしていないQDockWidgetのサイズをプログラム側で動的に変更したいのですが、どこを弄ればいいですか?
- 259 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:44:36 ]
- >>150-156 の件、直ってるな。
ttp://qt.gitorious.org/qt/qt/commit/b89efc8e7f3289ff85a5076297e4357283dd24a5
- 260 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 02:28:28 ]
- 日付が変わったら画面を更新したいんですが、日付の変更を通知するようなシグナルってありますか?
- 261 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 10:41:15 ]
- >>260
ないので QDateTime と QTimer を使って作る。
- 262 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 15:36:12 ]
- >>258
楽な方法は見つからなかった。 setFixedSize() を呼び出すとサイズが変えられるから SizeHint や SizePolicy を うまく設定すれば何とかなるかもしれない。 面倒だけど QMainWindow::saveState() した結果を変更して QMainWindow::restoreState() すれば変更できるかも。
- 263 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 18:49:34 ]
- QHeaderViewから親のQTreeViewにアクセスする方法ってある?
QTreeView::setHeader()のソース見ると、d->header->setParent(this)っていうのがあるんだけど、QWidgetからQTreeViewへどうキャストすればいいのか分からない・・・
- 264 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 01:04:18 ]
- >>263
QHeaderView *header = view.header(); QObject *obj = header->parent(); QTreeView *tree = qobject_cast<QTreeView*>(obj);
- 265 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 01:31:26 ]
- >>264
できた、ありがとう! qobject_cast知らなかった、便利そう♪
- 266 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 10:52:22 ]
- Qt Creatorのチュートリアル日本語版は無いんでつか?
- 267 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 17:41:07 ]
- QTabWidgetでタブの配置をEast、Westにしたとき
┌┤ ││ ││ ├┤Widget ││ ││ └┤ こうではなく ┌────┤ ├────┤Widget └────┤ このような形にする方法ってありますか?
- 268 名前:デフォルトの名無しさん [2009/06/06(土) 12:34:56 ]
- >>266
sourceforge.jp/projects/qt-creator-jp/ ヘルプファイルの日本語化をされている方がいます。
- 269 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 10:09:17 ]
- QSplitterの棒のデフォルト位置をデザイナで変更するはどうすればいいのでしょうか?
もしデザイナでできないならば、コードではどう書けばいいのでしょうか?
- 270 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 12:32:49 ]
- >>269
Splitterの下にあるWidgetの SizePolicy -> Horizontal(Vertical)Stretch の値を それぞれのWidgetで明示するといいみたいです。 左のWidgetでは 10, 右のWidgetは 1 とか
- 271 名前:デフォルトの名無しさん [2009/06/09(火) 02:28:23 ]
- QtCreatorをFreeBSDで動かせてる方いませんか?
当方Win上のVMware上のFreeBSD7.1にて、Qt4.5.1とQtCreatorのコンパイルは 何とかできたのですが、QtCreatorを実行してもウィンドウが現れないのです(;´д⊂) PortsのKDE4.4.2も同時に動かしてあって、これにつかってるQt4.4.3が影響してるのか。。 QtCreatorを動かすために、gdbで手動デバッグ、やPrintfデバッグするしか手が思いつかなくて(;´д⊂)
- 272 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 02:44:47 ]
- >>271
エラーメッセージは何て言ってるのよ? っていうかメッセージの出しかたがわからんのか? Konsoleでqtcreatorって打って(でいいのかな?)起動してみれ。 Error:うんこが漏れました とか出てくるからそれ読んで原因究明。出てこないんならどこかに起動してる。 別のデスクトップとか。
- 273 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 05:30:07 ]
- Qt を使って作られたソフト例
にOperaも入れてやれ。
- 274 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 05:32:47 ]
- Qtってのにうすうす興味があって、
いろいろ調べているうちにさらに興味が湧いてきて ・・・ついに作ってみようかなと言う気になってきた俺が居る。
- 275 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 08:57:09 ]
- つ Qt Creator
- 276 名前:デフォルトの名無しさん [2009/06/09(火) 12:13:42 ]
- >>271
ごめん、エラーメッセージのこと書き忘れてた(⊃д⊂) Konsoleで >qtcreator.bin とやると、 即プロンプトが帰ってきて、エラーメッセージは表示されない。 (コンソールには、QObject: Do not delete object, 'unnamed', during its event handler!ってでる) 即プロンプトが帰ってくるのが落ちてるんだと思い込んでたけど、 Win上のQtcreatorをコマンドプロンプトで起動すると、同じように即プロンプトが帰ってきたから、 これは問題ないとおもひます。 qtcreator.binからqtcreator_process_stubを呼び出してるみたい。 という状況です(;´д⊂)
- 277 名前:デフォルトの名無しさん [2009/06/09(火) 13:52:15 ]
- QTcreatorをデバッグするために-gつけてコンパイルする方法さがしたら、
*.proファイルのCONFIG変数にdebugを追加すればいいとあったんだけど、 自作プログラムでは-gがつくのに、QtCreatorでは付かないよ(;´д⊂) なんでかな。 CFLAGとかに追加するのをやってみる。
- 278 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 14:41:35 ]
- >>277
qmake qtcreator.pro -r CONFIG+=debug で Makefile を作ってみると -g はついているけど。
- 279 名前:デフォルトの名無しさん [2009/06/09(火) 14:47:15 ]
- >>278
おおありがとう(;´д⊂) やってみる
- 280 名前:デフォルトの名無しさん [2009/06/09(火) 14:49:25 ]
- >>278
-gつきでコンパイル始まったよ ほんとありがとう!
- 281 名前:デフォルトの名無しさん [2009/06/09(火) 18:42:26 ]
- Linux + Qtで printf("\a");で音が出ない
systen("beep");でも無音 G++ で書くと、どちらも鳴るのになぜ?
- 282 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 21:37:48 ]
- >>281
"\a"って音を出すんだっけ? 音とは限らない何らかの信号をだせばいいんじゃなかったっけか? まあ全然分からんから誰か頼むわ。
- 283 名前:274 mailto:sage [2009/06/09(火) 21:38:34 ]
- >>275
あんがと! よし!やってみるわ。 ただ趣味グラマだから実際にプログラミングできるのは 相当先になりそうだがね。
- 284 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 23:00:11 ]
- ファイルパスが存在し得るものかどうかを判定したいのですが、便利な関数はありますか?
*等を含んでいるものや、/が連続するようなパスなどは無効と判定したいのですが・・・
- 285 名前:デフォルトの名無しさん [2009/06/10(水) 00:55:44 ]
- QtCtreatorをデバッグしてるものですが、
QtCreatorをgdbでデバッグしてみると、 エラーで落ちてました。エラーメッセージを吐くコードがちゃんと あったのですが、ターミナルにはログメッセージがでないようでした。 qDebug()でデバッグしようとしたら、その文字列さえもターミナルにでてこ無くて、 調べてみたところ、QtSingleApplicationでapp変数(return.exec()するやつ) を生成してる行以降からqDebug()が出力されなくなってました。 QtSingleApplicationって前このスレで出てた、インスタンスを複数作れないよう制限するやつですよね。 これに関して何か知ってる方いませんか?(;´д⊂)
- 286 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 06:16:51 ]
- >>284
QDir::exists, QFile::exists, QFileInfo::exists
- 287 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 11:56:42 ]
- >>286
284じゃないが、それは実際にファイルがあるか調べるメソッドだよ
- 288 名前:デフォルトの名無しさん [2009/06/10(水) 16:28:20 ]
- >>285
qDebug()関係のメッセージが表示されない原因が分かりました。 Qtのコンパイルに-no-iconvを指定すると出来ましたヽ(´ー`)ノ
- 289 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 22:10:33 ]
- はじめまして。
メニューの項目の作り方についてご質問なのですが、 シグナルスロットを使用しない方法か、 どのメニューを選択しても同じ関数が呼ばれて、IDで識別するような方法ってありますでしょうか。 つまり、他のGUIライブラリのメニューのような使い方がしたいのです。 サンプルだとQActionを使ったシグナルスロットの方法しか書いてありませんでした。 これだと、メニューの項目数と同じだけ関数を用意しないとだめなので、 動的なメニューが作りにくいです(´Д⊂
- 290 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 23:02:16 ]
- >>289
QAction を同じ SLOT につなげて、SLOTの中で sender() を使ってどこからか判断したら。 QAction の文字列とかが欲しいなら QAction *act = qobject_cast<QAction*>( sender() ); で sender() から QAction を取れるから、 act->text() とかも使える。 って、それでいいなら QMenu::triggered(QAction*) シグナル使えばいいのか。
- 291 名前:デフォルトの名無しさん [2009/06/11(木) 14:29:58 ]
- Qtプログラムをgprofで動作解析するためには、
QTライブラリを -pg -static つきでコンパイルし直さないといけない と英語のページで書いてあるように思えたのですが、本当ですか?
- 292 名前:デフォルトの名無しさん [2009/06/11(木) 19:43:37 ]
- >>291
Qtだからというのではなく、gprofとはそういうものです。
- 293 名前:デフォルトの名無しさん mailto:sage [2009/06/11(木) 19:49:32 ]
- Doxygenスレとどっちで聞こうか悩んだのですが、
お願いします。 ttp://www.doxygen.jp/docblocks.html ここにある >Qtスタイルを使うことができ、 >この例が示すように、C スタイルの >コメント・ブロックが開いた直後に >感嘆符 (!) を追加します。 /*! * ... text ... */ って書いてあります。 私はDoxygenの知識はあるのですがQtに関しては全く無知です。 Qtにもドキュメント自動生成が出来たりするのですか?
- 294 名前:デフォルトの名無しさん [2009/06/12(金) 01:47:31 ]
- >>293
開発元内製のqdocでドキュメント生成されていて、Qt 4.4からqdocのソースが公開されています。 Qt1のソースコードを見ると、この頃から /*!でドキュメントがソースに埋込まれていて、.docもありますね。
- 295 名前:デフォルトの名無しさん [2009/06/12(金) 12:35:04 ]
- >>292
すみません、確認のためにもう一回お願いします。 解析対象のプログラムを-pg -static付きでコンパイルしないといけない、というのと QTもスタティックライブラリにコンパイルしなおさないといけないのは分かってるのですが、 それだけではくQTライブラリも、-pg 付きでコンパイルしないといけないかどうか の答えが292であってますでしょうか?
- 296 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 15:29:38 ]
- >>295
Qt自体をコンパイルしなおさないと、qtの中にプロファイル用の コードが入らないから、実際にはqtの中で時間を使っているのに プロファイル結果ではその呼び出し元が時間を使っているように 見えてしまう。 それでも良ければ別にQtをコンパイルする必要もQtをスタティック リンクする必要もないよ。
- 297 名前:デフォルトの名無しさん [2009/06/12(金) 15:44:57 ]
- >>296
おお、そうなのですか。 自作プログラムだけを-pgつけてコンパイルすると、 コアダンプするようになってしまって、QT側に何かしないといけない と思い込んでおりました。 そもそもコアダンプすることはないのですね ありがtごうございました。調べてみます。
- 298 名前:296 mailto:sage [2009/06/12(金) 15:52:58 ]
- >>297
ごめん、確認しないで書いた。 コアダンプするなら、それ調べて、Qtが原因ぽかったら再ビルド必要かも。
- 299 名前:デフォルトの名無しさん [2009/06/12(金) 21:32:53 ]
- >>295
いけなくはないけれど、Qtの中がプロファイルできないから、結果はスカスカで、 どこで時間がかかっているかが分からないですよ。
- 300 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 02:05:11 ]
- Qtcreatorので、コンテナボックスを作る方法ってあるのかな?
勿論、ソースでそのまま書けば作れるんだけど、 メイン画面やダイアログみたいに見ながら簡単に作りたい。 でも、GUIツールのところを見てもちょっと見当たらないんだよね。
- 301 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 02:06:05 ]
- >>300
あ、ゴメン、大間違い。 コンテナボックスじゃなくて、コンテキストメニューのことです。
- 302 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 16:16:36 ]
- UNICODEMAP_JPをアプリ側で設定してもコーデックに反映されません
getenvで確認しても環境変数自体は設定できているようなのですが、QTextEdit等に表示すると反映されていませんでした 何が問題なのでしょうか? 環境はWindowsXPでQt4.5.1を動的リンクして使っています
- 303 名前:デフォルトの名無しさん [2009/06/13(土) 16:49:56 ]
- Qtをソースコードから入れたい場合どうすればよいのでしょうか
- 304 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 17:27:14 ]
- あきらめろ
- 305 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 18:04:38 ]
- >>302
俺も前に調べたんだけど、main関数の最初に環境変数書き換えても間に合わないみたい 実行時に変えたいならランチャーを作成するしかないんじゃないかな
- 306 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 23:20:45 ]
- >>303
ttp://doc.qtsoftware.com/4.5/installation.html
- 307 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 21:26:20 ]
- addin入れられなくても
パス指定したらvisual studio EEでQt使えるよね?
- 308 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 21:29:02 ]
- >>307
そりゃ使えるよ
- 309 名前:デフォルトの名無しさん [2009/06/15(月) 22:02:54 ]
- class MainWindowにclass Dialogをメンバ変数として持ち、Dialogから
MianWindowないの関数を呼び出すと、関数までは飛べるんですが、 その後終了してしまいます。 Qtのsignal slotの流れが壊れてしまうのかと思うんですが、 何か、呼び出された側から、呼出し側の関数を呼ぶ方法がありますか?
- 310 名前:309 [2009/06/16(火) 21:21:24 ]
- 自分でslotを作れたんですね。
- 311 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 20:41:44 ]
- メインウィンドウ内に、lineEditが3つあって、そのうちの1つにフォーカスを
移すにはどうするの タブを移動するには
- 312 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 20:43:11 ]
- QWSInputMethodの役目がよく分からないんですが、自分でウィジェットを作ったときに
日本語入力を可能にするためのもの? 別アプリに文字列送信とかも出来るんでしょうか。 ググっても情報がないもんで...。 別アプリに送信できるとうれしいんですけど。
- 313 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:21:32 ]
- >>312
Qt for Embedded Linux で Input Method を実装するためのもの。 X11 を使わない組み込みLinuxだとIMのためのプロトコルがないため、 このクラスを使って実装する。 X11 とか Windows で使っているなら無関係。 別アプリとの通信は X11 だと QtDBUS があるけど、 Windows や Mac だと IPC 使って自分で書かないとだめだったかも。
- 314 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:39:35 ]
- 別のプログラムのウィンドウ情報を取得することはできますか?
ウィンドウ位置とタイトルを取得したいのですが・・・
- 315 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 15:57:49 ]
- What is your environment?
- 316 名前:デフォルトの名無しさん [2009/06/19(金) 19:40:50 ]
- >>312
Qt for Embedded Linuxで日本語入力を実装するときに使います。 Qt for Embedded Linuxで、別アプリケーションに文字列送信したいなら、QCOPを使えば簡単にできます。
- 317 名前:314 mailto:sage [2009/06/19(金) 19:50:50 ]
- >>315
すいません WindowsXPとVistaでの使用を考えています
- 318 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 20:46:58 ]
- ListWidget上などで、右クリックで、ポップアップメニューを出すことは
できますか?
- 319 名前:デフォルトの名無しさん [2009/06/20(土) 11:22:31 ]
- >>318
contextmenuをキーにしてリファレンスマニュアルを探すと分かるでしょう。
- 320 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 17:00:11 ]
- 日本語版リファレンスが糞重いな・・・
- 321 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 17:39:36 ]
- QTreeViewを使用して、行を一行固定になるようにする方法ってありますか?
複数行ある文字列をModelにくわせたら、TreeViewも複数行で表示されてしまいます。 QTableViewでは、複数行ある文字列でも一行表示(改行以降の文字列は表示されない)されます。 でも罫線が表示されて微妙な感じです。
- 322 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:57:36 ]
- >>321
QStyledItemDelegate を継承して、 displayText() を書き換えて表示する文字列を変更する。
- 323 名前:デフォルトの名無しさん [2009/06/20(土) 21:54:39 ]
- >>320
どこのでしょう。
- 324 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 01:31:09 ]
- >>322
ありがとう。 QStyledItemDelegateから派生したMyDelegateクラスで以下のようにしたら思い通りになりました。 QString MyDelegate::displayText ( const QVariant & value, const QLocale & locale ) const { if(value.type() != QVariant::String) return QStyledItemDelegate::displayText(value, locale); QString text = value.toString(); QString ret = text; for(int i = 0; i < text.count(); ++i) { if(text.at(i) == 10) //改行なら { ret = text.left(i); break; } } return ret; } でも気になったところが... if(text.at(i) == 10) //改行なら のところを if(text.at(i) == QChar('\n')) でも行けそうな感じしたんだけどダメでした。 どうも、QChar('\n')を110 (小文字のn)と判定してしまっています。 だれか原因分かりますか? OS X Tiger + QT Creatorで開発しています。
- 325 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 02:07:00 ]
- >>324
Mac は知らんけど、'\\n' だったらうまくいくとか? 自分でループ回すより QString::indexOf() を使うのおすすめ。
- 326 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 02:59:03 ]
- 以下の対応したソースをWindowsに持ってきてVS2005でビルドしたらすんなり通った。
int i = text.indexOf(QChar('\n')); // きちんとQChar('\n')は10として評価される ret = text.left(i); ちなみに、OSX上で、\\nってやってもダメでした。
- 327 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 03:06:05 ]
- OSXでは、Optionキー + \ を押さないとバックスラッシュとして認識されないみたいです。
(マカーからすれば当たり前のことなのか。) お騒がせしました。
- 328 名前:318 mailto:sage [2009/06/21(日) 12:51:43 ]
- >>319
勉強してみます ありがとうございました。
- 329 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 12:56:18 ]
- QListWidgetでファイル名を表示してるんですが
addItemはできるんですが、削除するにはどうしたらいいんですか? ui->listWidget->removeItemWidget(item); かと思ったんですが、削除できません。
- 330 名前:デフォルトの名無しさん [2009/06/21(日) 13:51:17 ]
- >>329
QListWidgetからのアイテムの削除は、takeItem()で。 removeItemWidget()は、アイテムに設定したウィジェットの削除です。
- 331 名前:329 mailto:sage [2009/06/21(日) 18:17:33 ]
- >>330
ありがとう でも、takeItemとは、とても思いつかなかった
|

|