09/07/31 16:06:59
>>610
便利だけど、凝ったことをするには微妙。
612:デフォルトの名無しさん
09/07/31 16:08:12
>凝ったこと
kwsk
613:デフォルトの名無しさん
09/07/31 16:31:52
>どうよ?
kwsk
614:デフォルトの名無しさん
09/07/31 17:02:53
mainで作られるwの中のuiをどこからでもいじれるようにはできますか???
615:デフォルトの名無しさん
09/07/31 17:40:13
>>612
たとえば
* QDockWidget を使用する場合
* 画像の貼り付け(バックグランドの指定)など
コードとうまく組み合わせる必要があるのでそれなりに慣れはいる。
>>614
ui を public で公開してしまえばいいけど、設計としては勧めたくないな。
616:デフォルトの名無しさん
09/07/31 18:26:32
>>615
kwsk
それだけじゃ何で不都合があるか分からん。
普通にDesigner使っても問題ないように思えるが。
617:デフォルトの名無しさん
09/07/31 19:05:23
>>616
QDockWidget はドラッグ&ドロップで位置を変えられれないし(プロパティから変更はできる)、
二つのQDockWidgetをタブで同じエリアに配置するのもDesignerからはできなかったと思う。
大きさは変えても反映されない(こっちはQtの仕様上むずかしいが)。
Designer だけの問題ではないが、QDockWidgetを使いたい場合に希望通りの配置をするのは大変。
( アプリが使われ出したら saveState(), restoreState() を使うからいいんだろうけど。 )
画像の件はたとえばQWidgetの背景に画像を貼り付けたい場合にパレットで画像が指定できない。
パレットに画像を指定したい場合はコードで指定する必要がある。
基本の配置を作るのに Designer を使うのは便利なときも多いし、問題ないと思う。
ただ、ちょっと派手にしようと思ったりするとコードを書く必要が出てくるので、
GUIだけで「デザイン」をしたいと考えるなら微妙な時もある。
画面のどこまでを Designer で作りたいかだな。
618:デフォルトの名無しさん
09/07/31 19:12:29
そういえばQSplitterってまだDesignerは対応してないよね?
619:デフォルトの名無しさん
09/07/31 22:20:45
>>618
ずっと前から対応していますね。
620:デフォルトの名無しさん
09/07/31 22:22:29
>>610
使える部分には、使えばいい。
621:デフォルトの名無しさん
09/08/01 00:18:55
>>618
Containers の中ではなくて、レイアウトの方にある。
複数の Widget を選択した後に間に線と矢印のあるレイアウトを選択する。
622:デフォルトの名無しさん
09/08/01 05:37:47
ウィンドウの最前面表示を切り替えようと以下のようなコードを
書いているのですが、一度ウィンドウを閉じてから開き直すような
動作になってしまいます。
Qt::WindowFlags flags = windowFlags();
flags ^= Qt::WindowStaysOnTopHint;
setWindowFlags(flags);
show();
一瞬ですがチラついて見える上、Windowsのタスクバー内の
アプリケーションの順番が変わってしまうのが気になるのですが
これを回避する書き方はないでしょうか?
623:デフォルトの名無しさん
09/08/01 13:14:09
>>622
Widget::activateWindow(), QWidget::raise()は?
624:623
09/08/01 13:22:11
ごめん。Widget::activateWindow()のところに、
Windows版ではそうなると書いてあった。
625:デフォルトの名無しさん
09/08/01 14:40:29
>>614
uiにアクセスしたいクラスを、MainWindowクラスのfriendクラスに指定すれば良い
626:デフォルトの名無しさん
09/08/01 20:26:30
>>624
Qtに限らずWindowsならそうなります。Windowsだから仕方ありません。
627:デフォルトの名無しさん
09/08/01 20:28:56
>>614
そんな馬鹿なことしてはいけない。
628:デフォルトの名無しさん
09/08/01 23:19:08
>>624
activateWindowの説明読んでみました。ウィンドウがアクティブじゃない状態で
呼ぶとアクティブにならずにタスクバーがチカチカするってことですよね。
アクティブな状態で呼ぶことを想定しているのでそこは問題ないんですが
メインウィンドウで呼ぶと一度閉じてしまう現象はよく分かりませんでした。
とりあえずこのままで我慢しておきます。
629:デフォルトの名無しさん
09/08/01 23:56:20
QNetworkAccessManager や QHttp って同期的には使えない?
ちょっとデータを取ってくるだけで Signals/Slots 使って非同期な処理
書くのって微妙に面倒なんだけど…。なんか使い方間違ってんのかな?
630:デフォルトの名無しさん
09/08/02 00:25:49
>>629
QEventLoopを使うと良いと思う。
631:デフォルトの名無しさん
09/08/02 01:00:58
>>630
おおー、使ってみます!