2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】

1 :デフォルトの名無しさん:2013/04/19(金) 15:54:20.57
Qt(キュート)は C++ ベースのフレームワーク&RAD開発環境です。

ライブラリの機能は、フォーム、ボタンなどの各種ウィジェットからネットワーク、マルチスレッド、
グラフィックス(OpenGL)や各種コンテナ、XMLパーサー、組み込み JavaScript など、非常に多岐に渡ります。
公式の統合開発環境「Qt Creator IDE」を使えば、クロスプラットフォーム対応のRAD開発が可能です。
また、EclipseやVisual Studio上で開発したい人のためのアドインも用意されています。

■主な対応プラットフォーム(デスクトップ用途の場合)

Windows XP, Vista, 7
Mac OS X 10.4, 10.5, 10.6
Linux

■ライセンス

・オープンソース版(Open-source version)
 LGPL 2.1 または GPL 3.0 のうちどちらかを利用者が選べます。
 LGPL を選んだ場合はソースコード非公開のままでの商用利用が可能です(いくつか制限あり)。
 ※正確には通常「LGPL+商用利用向きの例外条項」を選ぶことにな7ります(Qtインストール先の「LGPL_EXCEPTION.txt」を参照)。
  ちなみにGPLでも商用利用が不可能というわけではありません、念のため。
・商用版(Commercial version)
 こっちはDigia社か日本の代理店(SRA社)とライセンス契約(年間30万くらい?)を結んで使います

■Qt を使って作られたソフト例

KDE、Maya、Adobe Photoshop Elements、Google Earth、Skype、DAZ Studio
MotionBuilder、RealFlow、Nuke、LuxRender、Mathematica、Kindle、VirtualBox など

■前スレ
【RAD統合環境】 Qt 総合スレ 14 【Win/Mac/Linux】
http://toro.2ch.net/test/read.cgi/tech/1344830647/

2 :デフォルトの名無しさん:2013/04/19(金) 15:55:23.89
■リンク

・Qt Project
 http://qt-project.org/

・Qtユーザー会
 http://planet.qt-users.jp/
・Qt Users Forum Japan
 http://qtusersforum.s2.zmx.jp/forum/index.php
・Qt Creator を日本語化するプロジェクト(非公式)
 http://qt-creator-jp.sourceforge.jp/

・PyQt4(GPL。定番)
 http://www.riverbankcomputing.co.uk/software/pyqt/intro
・PySide(LGPL。)
 http://www.pyside.org/downloads/


■ライセンス関連まとめ

各ライセンスでの自作アプリのソース公開/頒布

Qtのライセンス   アプリのライセンス     Qtの頒布/(変更部分のソース公開)
GPL           GPL(ソース公開必須)      必須
LGPL         任意(ソース公開不要)      必須
商用          任意(ソース公開不要)      不要

*: LGPLは動的リンク時

実際には他にも条件(リバースエンジニアリング関係とか)あるので、
きちんとライセンスの条文を読むこと。

3 :デフォルトの名無しさん:2013/04/19(金) 15:55:57.29
Windows ユーザー向け Tips
・プロジェクトのパスに日本語を入れちゃダメ
・日本語のソースコードはUTF8 BOMで保存するとMinGW版でもVC版でもコンパイルできる
 プロジェクト作成後に「プロジェクト」タブの「エディタの設定」→「デフォルトの文字コード」
・デバッグ出力などが文字化けする場合、プログラムの最初で文字コード変換設定をする
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8")); //ソースの文字コードを直接指定("utf-8"や"Shift-JIS")
// QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //システムロケールの文字コードを指定
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8")); //翻訳用マクロ tr()の文字コード
qDebug() << "うまく表示できた?";
・MinGW版配布時は mingwm10.dll も一緒に入れる(public domain。配布上の制限はない)

4 :デフォルトの名無しさん:2013/04/19(金) 15:56:43.07
Qt 解説書

■ 入門 Qt 4 プログラミング
http://www.amazon.co.jp/dp/487311344X/

原著第二版(英語PDF、公開リンク)
http://www.cuteqt.com/blog/wp-content/uploads/2009/06/c-gui-programming-with-qt-4-2ndedition.pdf

■ 実践 Qt 4プログラミング
http://www.amazon.co.jp/dp/4873115078/

■ Qtプログラミング入門―使いやすいフレームワークを基礎から解説
http://www.amazon.co.jp/dp/4777516504/

■ Qtで簡単 GUIプログラミング―Qt入門書を読む前に読む「入門書」
http://www.amazon.co.jp/dp/4877832211/

ごちゃごちゃ言わず、QtQuickも使ってみてください(><;)

5 :デフォルトの名無しさん:2013/04/20(土) 05:01:52.29
>>1
乙です

6 :デフォルトの名無しさん:2013/04/21(日) 02:15:58.07
例えばボタンのclick()でどっかのウィジェットに線描画したいときはどう書けばいい? QPainterで書こうとしたんだけど、paintEventの中に書かないと描いてくれなくて困ってる。

7 :デフォルトの名無しさん:2013/04/21(日) 07:11:27.98
>>1
どっかのウィジェットのサブクラスを作ってpaintEventを再実装。

8 :デフォルトの名無しさん:2013/04/21(日) 10:19:28.29
>>7
ありがとう。やっぱしpaintEventに書くことになるんか

9 :デフォルトの名無しさん:2013/04/22(月) 15:20:48.19
QImageかQPixmapをバッファとしてウィジェットのメンバに追加して、
clickでバッファに描画、paintEventでバッファをウィジェットに描画でおk

10 :デフォルトの名無しさん:2013/04/22(月) 17:44:34.27
QStringListのitemの中にコマンド名を入れたいが、英文でも文字化けする。
qDebug()ではまともに表示されるのだが。うむわからん。
for (int i=0;i<=10;i++){
SubMenu3.addAction(QString(item.at(i)).toAscii());
}

11 :デフォルトの名無しさん:2013/04/22(月) 18:01:58.37
自己解決。itemのヘッダファイルの宣言がQStringになってた。

12 :デフォルトの名無しさん:2013/04/25(木) 15:55:36.68
winで5.0.2 64bitビルドしてみた人いる?
途中で失敗するんだけど俺だけ?

13 :デフォルトの名無しさん:2013/04/25(木) 16:22:58.89
winで5.0.2 64bitビルドしてみた人いる?
途中で失敗するんだけど俺だけ?

14 :デフォルトの名無しさん:2013/04/25(木) 21:03:42.20
msvc2010だけど、
32,x64,shared,staticのビルド成功している

15 :デフォルトの名無しさん:2013/04/25(木) 22:03:01.86
>>14
ありがとう
http://qt-project.org/wiki/Building_Qt_5_from_Git
これの通りにやれば大丈夫なんだよね?
なにか気をつけることってあるかな?

16 :デフォルトの名無しさん:2013/04/25(木) 22:45:56.96
てか5.0.2は64bit版置いてあるけど、知っててあえてビルドしてるのかな
俺はopengl版でもQtGUIとglewが同時にインクルードできないことに気づいてまた4.8.4に戻った

17 :デフォルトの名無しさん:2013/04/26(金) 00:08:46.28
>>16
うん、32・64bit両方欲しいの

18 :デフォルトの名無しさん:2013/04/26(金) 00:57:53.79
あー、win 7以前で vs2012が入れられないとかの事情か
雑談ごめん

19 :デフォルトの名無しさん:2013/04/26(金) 02:27:29.44
あらためて>>15読んだ。ビルドできたりできなかったりは
jomの影響もあるんだな。インストールしたの忘れてたよ。

MSVC2010のばあい、5.0.2はSDKのインストールなしでビルドできた。

20 :デフォルトの名無しさん:2013/04/26(金) 18:56:12.55
はじめて4.8.4のビルド成功した記念

Windows7, MSVC2010, 64bit
4.8.4 jomあると失敗、SDK必要
5.0.2 jomなし、SDK不要

21 :デフォルトの名無しさん:2013/05/01(水) 16:34:35.29
Qtを自力でビルドできるなんて凄いですね

22 :デフォルトの名無しさん:2013/05/01(水) 16:52:31.96
Qt様〜

23 :デフォルトの名無しさん:2013/05/01(水) 17:00:53.71
Qtサイキョ

24 :デフォルトの名無しさん:2013/05/02(木) 18:22:29.11
Qtおよび、C++初心者です。
下記URLのサンプルコードを使用して、TCP/IPでの相互通信を行いたいのですが、
ビルドに失敗してしまいます。

memotiyou.blogspot.jp/2012/02/qt-c-tcp_3936.html

「mainwindow.h」に「#include <QTcpServer>」を追加して、
「エラー: 'QTcpServer' does not name a type」は解決でしたのですが、
「エラー: 'Request' does not name a type」の解決方法が分かりません。
どこを直せば良いでしょうか?ご教示願います。

環境は、Windows 7 64Bit。Qtのバージョンは5.0.2です。

よろしくお願い致します。

25 :デフォルトの名無しさん:2013/05/02(木) 19:26:14.52
class Request;
でも追加しておけば。。

26 :デフォルトの名無しさん:2013/05/02(木) 23:40:38.30
よくわからんけどURLが開けなかった

27 :デフォルトの名無しさん:2013/05/03(金) 00:30:15.01
>また.proファイルに QT += network を必ず追加してください。
これちゃんとやった?

28 :24:2013/05/03(金) 01:20:34.32
皆さん、レスありがとうございます。

>>25 今、開発環境が手元にないのですが、その方法で通りましたか?
>>26 ttp://memotiyou.blogspot.jp/2012/02/qt-c-tcp_3936.html
です。 リンク規制が掛かってたので、省略しました。
>>27 QT += networkは追加済みですが、前述のエラーが発生します。

話題がそれますが、いくつかサンプルコードを試した中で、
Qt4.8系とQt5.0系で互換性が無いものがありました。
バージョンとしては、4.8系がメジャーなのでしょうか?

29 :デフォルトの名無しさん:2013/05/03(金) 01:45:36.66
5は怖いから4.8使ってる

30 :デフォルトの名無しさん:2013/05/03(金) 13:34:14.65
>>28
メジャーバージョンが上がるとソースコード互換性はなくなります。
クラスなくなったのを除けば、たいていは両方で動くように書き分けるのは難しくはないです。
でもウィジェットは5.0は不安定で動きが間違っているのが目立つので、4.8の方が安心して使えます。
QMLを使うなら5の方がよいけれど、ウィジェットを使うなら5.2くらいになるまでは4.8の方がよいでしょうね。

31 :デフォルトの名無しさん:2013/05/03(金) 16:22:35.27
>>24
Qt4でビルドできるようにしてからQt5でビルドできるようにしてみました。
QT += widgetsを.proに追加するだけでQt5でビルドできます。

32 :デフォルトの名無しさん:2013/05/03(金) 18:50:50.65
A

33 :24:2013/05/03(金) 20:37:14.39
レスありがとうございます。

>>30
やはり互換性が無いのですね...
開発環境を4.8系、5.0系の両方を入れ、動作確認できるようにしたいと思います。
また、実際にアプリケーションを作成する際にはQML、ウィジェットのどちらを採用するかによって
バージョンを使い分けたいと思います。

>>31
取り急ぎ、Qt5.0.2での確認ですが、QT += widgetsを追加しても、
Requestでのエラーは回避できませんでした。
>Qt4でビルドできるようにしてからQt5でビルドできるようにしてみました。
というのは、他にも修正が必要なのでしょうか?
可能であれば、プロジェクトをUpして頂けると幸いです。

34 :デフォルトの名無しさん:2013/05/03(金) 20:51:24.65
>>33
Requestは自分で作るんだよ
リンク先の最初の方に載ってるじゃないか

35 :デフォルトの名無しさん:2013/05/03(金) 21:40:08.60
>>33
ウィジェットは、ソースコードで#ifdefで書き分けて、.proもバージョンで書き分ければ、
ほとんどをQt4とQt5の両方をひとつのソースコードにできます。
QMLはそういう書き分けがまったくできないという欠点があります。
importのバージン指定もまるっきり役に立たない。

36 :24:2013/05/03(金) 22:03:30.04
レスありがとうございます。
度々、申し訳ないです。
>>34
Requestクラスは作成してありますが、ビルド時にmainwindow.hでエラーが出ます。
当方のプロジェクトファイルをUpしました。
ttp://www4.puny.jp/uploader2/download/1367585696.zip
Pass:Qt

>>35
解説ありがとうございます。QMLにはそういったデメリットがあるのですね...
私はQtおよびC++での開発自体、初心者ですので、QMLの使用は
今後の課題にしたいと思います。

37 :デフォルトの名無しさん:2013/05/04(土) 06:05:05.15
>>36
mainwindow.hでrequest.hをインクルードすればビルドできますよ。

QML使うならQt5を使った方がいいから書き分けられなくても実際にはデメリットにならないです。

38 :24:2013/05/04(土) 12:58:26.37
>>37
ありがとうございます!
ビルドおよび動作確認できました(Qt5.0.2)
大変、お騒がせいたしました。

ひとまず開発は5.0系で行い、サンプルコードを試す環境として4.8系も用意しておきたいと思います。

39 :デフォルトの名無しさん:2013/05/07(火) 20:53:31.70
QTで作ったウィンドウをリサイズして、その終了時にイベント拾いたいのだけど、
なんかいい方法ないかな?
リサイズ途中で毎回イベント拾うと処理が重くて…。

40 :デフォルトの名無しさん:2013/05/07(火) 23:42:57.53
tes

41 :デフォルトの名無しさん:2013/05/07(火) 23:45:30.63
マウスドラッグだったらボタンを離した(押してない)時だけ処理するとか

42 :デフォルトの名無しさん:2013/05/09(木) 11:20:30.40
C++及びQt初心者ですが、
QGraphicsItemで円を描画できるようなものはありますか?

43 :デフォルトの名無しさん:2013/05/09(木) 11:28:38.87
>>42
QGraphicsEllipseItem

44 :デフォルトの名無しさん:2013/05/09(木) 11:46:36.42
>>43
ありがとうございます。

45 :デフォルトの名無しさん:2013/05/09(木) 22:05:41.56
QtおよびLinux初心者です。
Qt5.0でタッチパネルで操作するアプリケーション(ウィジェット)を作成したいのですが、
Qt5.0に対応したQt/Embeddedはリリースされていないのでしょうか?
LinuxがインストールされたBOX PCに4.3インチLCDを接続し、アプリケーションを表示します。

知識が乏しく申し訳ないのですが、Qt/Embeddedは開発環境とターゲットの
どちらに必要なものなのでしょうか?

宜しくお願い致します。

46 :デフォルトの名無しさん:2013/05/10(金) 02:21:52.70
Macで日本語入力が可能になりそう!Windows爆死www Linux憤死wwwwwwwwwwwwwwwww
http://engawa.2ch.net/test/read.cgi/poverty/1368116873/

47 :デフォルトの名無しさん:2013/05/11(土) 17:04:13.85
>>45
組み込みよく知らないけど、誰もレスしないのでとりあえず

・Qt for Embedded linux の Qt5版はいつリリースされるのか
他のプラットフォームからwebkit外して自分でビルドしてって書いてあった
http://qt-project.org/forums/viewthread/23007

・とりあえずここ読まないと始まらないと思われ
http://qt-project.org/doc/qt-4.8/qt-embedded-linux.html

48 :デフォルトの名無しさん:2013/05/12(日) 02:05:18.81
>>45
Qt5.0そのままで、クロス環境でビルドすれば、組込みLinuxで使えてタッチパネルを使えます。
Qt5ではQt/Embeddedに分ける必要がないので、Qt5に対応したQt/Embeddedはリリースされません。
マルチタッチもというならば、Qt側ドライバを作る必要があることが多いです。
WebKit外す必要はありません。

49 :デフォルトの名無しさん:2013/05/12(日) 02:07:16.72
>>47
>とりあえずここ読まないと始まらないと思われ
Qt5はそこを読んでも役に立たないですよ。

50 :デフォルトの名無しさん:2013/05/12(日) 03:51:16.36
>>49
あ、そうなんですかども
Qt5では専用の仕組み(QWSサーバがどうとか?)がなくなったってことすかね

51 :デフォルトの名無しさん:2013/05/12(日) 09:53:33.13
>>50
なくてよいようになりました。

52 :45:2013/05/13(月) 00:09:34.35
>>47-51
遅くなりましたが、みなさんレスありがとうございます。
自分で調べた限りでは「Qt5.0でのEmbedded」に関する情報が得られなかったので、大変参考になりました。
マルチタッチは必要としておりませんので、特に気にせずクロス環境でビルドしたいと思います。
テストできる環境が整い次第、実験したいと思います。
ありがとうございました!

53 :デフォルトの名無しさん:2013/05/16(木) 08:47:04.53
Qfileでファイルの読み込みをしているけれど、
Linuxで動くコードがOSX(山ライオン)に持ってゆくとファイルが読めず、アプリが強制終了する。
そんな目にあわれた方いませんか。
俺のバグかQtのバグかわからない。Qtは4.8.5から5.02まで試したが同じ挙動ですた。

54 :デフォルトの名無しさん:2013/05/18(土) 23:34:36.57
簡単な再現コードでもあれば誰か反応すると思うけどそれだけじゃなんとも

55 :デフォルトの名無しさん:2013/05/19(日) 01:51:08.24
Qt creator 2.7.0でc++ソース内で日本語を使用するとビルドが通りません。
utf8では駄目なんでしょうか?

56 :デフォルトの名無しさん:2013/05/19(日) 02:06:54.15
コンパイラはなに使ってんだよカス

57 :デフォルトの名無しさん:2013/05/19(日) 09:28:31.34
Qt4か5かも書けよカス

58 :デフォルトの名無しさん:2013/05/19(日) 15:15:06.81
ググれよカス

59 :53:2013/05/20(月) 11:44:23.76
>>54

こんなソースです。

QFile Data("Data.bin"); //set data file
Data.open(QIODevice::ReadOnly); //file open
HexData = Data.readAll(); //Read all data to Hex
Data.close();

Ubuntu Linux では動きますたがOSXだとファイルが読み出せないようです。

60 :デフォルトの名無しさん:2013/05/20(月) 12:43:27.73
>>59
openの返り値は?

61 :53:2013/05/20(月) 13:19:34.15
OSXだと-1が返ってきます。
ファイルのパーミッションも見ましたが、
読み取り可能になっていますた。

62 :デフォルトの名無しさん:2013/05/20(月) 21:39:08.85
置換ミスったが元に戻すことできねえオワタ

63 :デフォルトの名無しさん:2013/05/21(火) 08:05:45.30
>>61
openの後でQFile::errorstring()を見れば
open失敗の原因が分かるかも

64 :デフォルトの名無しさん:2013/05/22(水) 06:26:25.66
Qt for Tizen来たな

65 :デフォルトの名無しさん:2013/05/22(水) 21:01:00.07
Qt4.8.4のminGWですが、Qtカスタムデザイナウィジェットで作成したウィジェットをQtcreatorのウィジェットボックスに表示させるにはどうすればいいてすか?

ビルドでできた.dllと.aをQt4.8.4pluginsdesingerに入れてみましたがでませんでした。

66 :デフォルトの名無しさん:2013/05/22(水) 21:21:06.26
Qt Creatorをビルドしたコンパイラとカスタムウィジェットのコンパイラを合わせる

67 :デフォルトの名無しさん:2013/05/23(木) 08:28:00.34
>>65
(qtcreator)/bin/designer にも出来たdllを入れる。
あと,入れるdllはリリースビルドしたものじゃないとダメ。

68 :デフォルトの名無しさん:2013/05/23(木) 09:42:47.38
>Qt for Tizen来たな
誰も待ってないのに

69 :デフォルトの名無しさん:2013/05/23(木) 19:11:57.89
>>66
>>67
ありがとうございます。
コンパイラを変えてdllも置いてみたのですができませんでした……。

70 :デフォルトの名無しさん:2013/05/23(木) 22:11:43.74
ここはWindowsでQt使ってる奴等ばかりなのだろうけどQtの未来としては
Linuxベースでスマホ分野の Tizen や Ubuntu や Android ports は非常に重要

71 :デフォルトの名無しさん:2013/05/24(金) 05:52:52.56
Tizenはどうかねと思うな。

72 :デフォルトの名無しさん:2013/05/24(金) 12:41:53.68
>>69
それは多分、どこか作り方が間違ってる。
ちょっとでも違うと表示されなくなるんで、以前苦労した覚えがあるよ。
domXml() の中身とか、良くチェックした方がいいと思う。

73 :デフォルトの名無しさん:2013/05/24(金) 20:40:40.70
>>72
そうだったのですか……確かめてみます。
ありがとうございます。

74 :デフォルトの名無しさん:2013/05/24(金) 21:53:11.42
>>73
ビルド済みのバイナリは使わずに、QtとQt Creatorをソースコードからビルドすれば、そういうことに悩まなくてすみますよ。

75 :デフォルトの名無しさん:2013/05/24(金) 22:04:37.67
>>74
それはカスタムウィジットをウィジットボックスに表示させることと無関係だろ?

76 :デフォルトの名無しさん:2013/05/25(土) 00:47:45.56
>>75
releaseとdebug、コンパイラを合わせるということができるから関係あり。

77 :デフォルトの名無しさん:2013/05/25(土) 07:09:31.47
無理ヤリくさいこじつけ。
「ソースからビルドしろ」と書いてみたかっただけ。

78 :デフォルトの名無しさん:2013/05/25(土) 19:43:18.53
>>77
違うよ。

79 :デフォルトの名無しさん:2013/05/27(月) 08:32:26.45
そろそろmocなしでも使えるようになって欲しい

80 :デフォルトの名無しさん:2013/05/29(水) 19:37:27.21
http://qt-project.org/
を開くと
Error 503 Service Unavailable
になってしまうのはなぜだろう。

81 :デフォルトの名無しさん:2013/05/29(水) 20:18:42.52
[Interest] qt-project.org web failing?
http://lists.qt-project.org/pipermail/interest/2013-May/007319.html

82 :デフォルトの名無しさん:2013/05/30(木) 10:32:19.50
Windowsですが、小ウィンドウを親ウィンドウと連動して動くように開くにはどうしたらいいですか?

childwindow = new ChildWindow(parentwindow);
childwindow->show();
だと親ウィンドウの中に入れられてしまいます。

外に出た状態で
・親ウィンドウが動いたら子ウィンドウも連動して動く。
・子ウィンドウは常に親ウィンドウの前面に表示(但しWindowStaysOnTopHintでは無い)
にしたいです。

83 :デフォルトの名無しさん:2013/06/01(土) 00:25:52.95
qwebview の linkclick シグナルを
<A href=javascript:open_window('foo')>
というリンクをクリックした際に発火させることは可能ですか。
javascript を文字列で取得したいです。
(そこから正規表現で URL を抽出 -> ゴニョゴニョ -> new page という処理を予定)

qwebsetting や setLinkDelegationPolicy は設定されています。
代用可能な方法ならなんでもいいです。
click した位置の DOM を取得とか。

よろしくお願いします。

84 :デフォルトの名無しさん:2013/06/01(土) 15:26:15.27
QMLはTypeScriptで作れるようにしてよ

85 :デフォルトの名無しさん:2013/06/02(日) 21:10:06.19
カスの単発質問ばかりで有益な情報の無いスレだな

86 :デフォルトの名無しさん:2013/06/02(日) 22:58:52.77
>>85
いいから質問に答えろよカス

87 :デフォルトの名無しさん:2013/06/03(月) 09:26:56.53
Qt SDKのダウンロードって
qt-windows-opensource-1.4.0-x86-online-2013-05-30-73.exe
をダウンロードすればよいんだっけか

なんかサイトがかわってわかりにくくなったな

88 :デフォルトの名無しさん:2013/06/03(月) 12:10:59.13
メインウインドウでプロセスを生成して、ダイアログからそのプロセスへ書き込みしたいんだがどう書けばよい?

MainWindow.proc -> write("Hoge");

みたいな感じで書けないかな?

89 :デフォルトの名無しさん:2013/06/03(月) 12:59:32.59
>>63
遅レスだがありがとう。それでQtCreatorから動かして見たらfile not found。
プログラムと同じディレクトリにデータ置いてるのになんでだろと思ったら、
OSXのプログラムの実物はその下の階層にあるんだな。
そこにデータを置いて実行したらデータ読み込んで動いたよ。
ありがとう。

90 :88:2013/06/04(火) 09:57:10.05
>>88
MainWindow().proc -> write("Hoge");

でコンパイルは通るが、実行させると、
QProcess: Destroyed while process is still running.

となる。プロセス殺さずにすまないかな。

91 :デフォルトの名無しさん:2013/06/04(火) 11:40:03.79
別クラスのメンバへアクセスする方法が分からないって書いた方がいいんじゃね

92 :デフォルトの名無しさん:2013/06/04(火) 14:44:48.53
なかなかのエスパー

93 :デフォルトの名無しさん:2013/06/04(火) 23:55:49.51
Visual Studio2013が出るようだけど
ビルド済みの配布はどうなるんだろう

94 :デフォルトの名無しさん:2013/06/05(水) 00:19:43.05
それ以前に、VS2012から #pragma execution_character_set が使えなくなって、Qt5の日本語はお手上げ状態じゃね?
C++11のunicodeリテラルは2013でも対応してないみたいだし

95 :デフォルトの名無しさん:2013/06/07(金) 01:14:45.74
Qt4でOpenGLやってみてるのだが、bindTexture()で一発でテクスチャを登録できるのはわかった。
んで、自前でglTexImage2D()とかglTexSubImage2D()をコールしてみた場合はうまくいかないのだけど、普通にできてる人いる?

96 :デフォルトの名無しさん:2013/06/07(金) 03:07:29.24
馬鹿には無理

97 :デフォルトの名無しさん:2013/06/07(金) 04:32:03.78
普通にやってるよ
最初GLUTやwglで動かしてたコードを後でQtWidgetで動くようにしたからgl関数しか呼んでないな

98 :95:2013/06/07(金) 06:24:37.21
>>97
徹夜でやってたらできたわ。
迷惑かけたな、失礼した。

99 :デフォルトの名無しさん:2013/06/07(金) 07:00:26.65
www

100 :デフォルトの名無しさん:2013/06/08(土) 20:48:48.80
>>94
文字列はASCII、英語書いて翻訳すればいいから問題なし。

101 :デフォルトの名無しさん:2013/06/08(土) 20:52:36.98
>>87
いいんじゃないか。
サイトが分かり難いのはオープンソース開発に避けるリソースがないからだよ。

102 :デフォルトの名無しさん:2013/06/08(土) 21:43:46.07
ソースに日本語でコメント書く奴は死ね

103 :デフォルトの名無しさん:2013/06/08(土) 21:55:54.80
もうそういう中二病は卒業してるんで

104 :デフォルトの名無しさん:2013/06/12(水) 10:48:48.40
愛国無罪!

105 :デフォルトの名無しさん:2013/06/12(水) 16:53:09.11
Qt使って社内システム組む場合、外部に売り出さない限りは商用ライセンスは不要って事でよろしいでしょうか?
MS嫌いの上司の押しつけで C++Builder 漬けの状態から脱却したいんですが

106 :デフォルトの名無しさん:2013/06/12(水) 16:56:57.60
よろしいでしょう

107 :デフォルトの名無しさん:2013/06/12(水) 17:16:21.46
ありがとうございます。今度提案してみようと思います。

108 :デフォルトの名無しさん:2013/06/12(水) 19:02:25.77
そんなレベルの知識で提案するのか

109 :デフォルトの名無しさん:2013/06/12(水) 20:03:38.74
>>105
売り物にしたって条件さえ満たせば商用ライセンスじゃなくてもいい。
ちなみにウチは数年前にC++ BuilderからQtに乗り換えたよ。

110 :デフォルトの名無しさん:2013/06/12(水) 20:38:05.97
一般向けのパッケージじゃなければ、LGPL版を動的リンクしてもついてくる
リバースエンジニアリングフリーの制約も痛くも痒くもないしな

111 :デフォルトの名無しさん:2013/06/12(水) 20:39:32.98
VCLに慣れてると、Qtのショボいプロパティ機能にはかなりストレス感じそう

112 :デフォルトの名無しさん:2013/06/12(水) 21:22:42.62
>>111
いや、レイアウトが優れものなのでVCLが糞に思えてくる。

113 :デフォルトの名無しさん:2013/06/12(水) 23:23:25.62
VCLが好きなら素直にC#+.netにしたほうが良いと思うんだが
宗教的理由なら仕方無いが

114 :109:2013/06/13(木) 05:39:14.50
>>110
だよね。

>>113
一般的にはそうだよね。ウチの場合は「標準」であるC++にこだわったからQtになったけど。

実際,それまでに作りためてあったクラスライブラリがちょっとの移植で使えたり,Boostが
利用できるのもウチにとってはメリットだった。

115 :デフォルトの名無しさん:2013/06/14(金) 22:46:54.71
Qt Creator2.7.0でタブを押すとスペース4つになるのをタブ一つにする方法教えてください

116 :デフォルトの名無しさん:2013/06/14(金) 23:20:05.91
それ無いっぽい俺もハードタブ対応してほしいわ

117 :デフォルトの名無しさん:2013/06/15(土) 06:17:13.91
馬鹿には無理

118 :デフォルトの名無しさん:2013/06/15(土) 08:22:05.80
>>115
qt-project.org/doc/qtcreator-2.7/creator-indenting-code.html

インデントの設定はC++、QML、その他のファイルで設定場所が分かれていて、
更にグローバルな設定とプロジェクト毎の設定とがあります。
以下はC++でインデントにタブを使用するグローバル設定の例。

ツール(T) → オプション(O) → C++ → 「コードスタイル」タブ↓
「コピー...」ボタン (新しいコードスタイル名の設定を求められるので適当に入力)↓
「編集...」ボタン↓
「概要」タブ↓
「タブ ポリシー」を「タブのみ」に変更。
「タブサイズ」と「インデントサイズ」を同じ値にする。

119 :デフォルトの名無しさん:2013/06/15(土) 08:29:03.67
サンキュー

120 :デフォルトの名無しさん:2013/06/15(土) 18:46:10.95
>>118
神。ありがとう

121 :デフォルトの名無しさん:2013/06/16(日) 01:49:53.71
Qt4.8なんですが
ネットから取得した画像をQPinmapのloadFromData→Qiconに変換しlistwidgetで表示しているんですが
画像の数が10〜20個なのにも関わらず仮想メモリの使用量が1GB以上になります(物理メモリは50MBほど)
取得する画像が変わることがあるので手動で更新をするのですが、何度かすると仮想メモリの使用量が爆発的に増えていき勝手に落ちてしまいます
どのようにすればメモリ使用量を減らし、勝手に落ちることを防げるでしょうか?

122 :デフォルトの名無しさん:2013/06/16(日) 10:31:34.42
タブの切り替え程度で神wなスレに期待するなw
何がメモリ食ってるかくらいいくらでも調べられるだろカス

123 :デフォルトの名無しさん:2013/06/16(日) 11:26:54.97
Qt5 で QListWidgetItem のマウスオーバーを検知するにはどうするのが定石なんでしょうか?
ui->listWidget->installEventFilter({mainWindow});
ui->listWidget->setMouseTracking(true);
とか見よう見まねで実装してみたんですが
フォーカスが左側に外れる瞬間とかよく分からないタイミングで QEvent::MouseMove が発動するようで、思いどおりの動作になりません。

ui->listWidget->setStyleSheet(":hover {background-color: #ddffdd;}");
子の QListWidgetItem でも、こんな感じで指定できたら簡単なんですが

124 :デフォルトの名無しさん:2013/06/18(火) 12:13:44.93
>>123
QListWidgetにsetAttribute(Qt::WA_Hover)して、イベントハンドラでHover*をひっかけてitemAt()。

125 :デフォルトの名無しさん:2013/06/18(火) 17:34:28.46
>>124
ありがとう。 いい感じになりました。

126 :デフォルトの名無しさん:2013/06/19(水) 14:10:23.74
Twitter用にQOAuth使おうと思ったんだがちゃんと<QtOAuth/QtOAuth>をincludeしてるのに
undefined reference to `QOAuth::Interface::Interface(QObject*)' (他QOAuth::Interface系がいくつか)
とエラー出てしまって進まない
interface.hは「#include <QtCrypto>」を「#include <QtCrypto/QtCrypto>」に修正してる
最近QOAuth使った人どう書いたか教えてくれないか?

127 :デフォルトの名無しさん:2013/06/19(水) 19:04:21.20
そうだね

128 :デフォルトの名無しさん:2013/06/19(水) 21:53:28.72
>>126
.proは修正したか?

129 :デフォルトの名無しさん:2013/06/19(水) 21:58:11.72
Qt5.0.2で_CRT_SECURE_NO_WARNINGSを指定する方法を教えて下さい

130 :デフォルトの名無しさん:2013/06/19(水) 21:59:57.51
>>127
そうなんだよ実は困ってるんだよ教えてくれよ頼むよ
初歩的なのかもしれないけど、検索しても情報出てこないし何が原因かわからんのよ

131 :デフォルトの名無しさん:2013/06/19(水) 22:20:23.52
>>128
リロードしてなかったわorz 
「CONFIG += oauth」は追加してある あと必要かわからんけどQTにnetworkとxmlも
検索して出てきたサイト通りに書いたけど他に書かなきゃいけないのあるのかな

132 :デフォルトの名無しさん:2013/06/20(木) 00:17:17.90
>>129
configureの-Dとかmkspecsに追加するとか環境変数CL使うとか

133 :デフォルトの名無しさん:2013/06/21(金) 03:06:08.75
qt5.1rc1でwebkitのビルドが通らなくなった。beta1の時は通ったのに!ちなみにwin32-msvc2010の64でね。qmakeでおかしなことになっているっぽい。qtに付属のgnu32が何か問題ありそうなんだけど誰か試した人いる?

134 :デフォルトの名無しさん:2013/06/21(金) 03:23:41.09
Qtとかビルド通らないのが普通って感じだし

135 :デフォルトの名無しさん:2013/06/21(金) 18:12:44.84
Mac/Qt5.0.2環境の Qt Creator に qwt-6.1.0 のpluginを組み込む方法を教えてください。
コード上での各種QwtWidgetの生成/実行はできているのですが、
デザイン画面上の部品パネルへの表示ができずにいます。要はポトペタがやりたいです。

136 :デフォルトの名無しさん:2013/06/22(土) 19:59:36.38
QOAuth・・・

137 :デフォルトの名無しさん:2013/06/26(水) 22:53:43.60
全クラスとmain()を1個のソースにまとめて書きたい。

c++でクラス毎にヘッダファイル1個ソースファイル1個って作ってかないとどこかで破綻する?
qmakeちゃんと動く?
動かないとすればどういう条件の時?

138 :デフォルトの名無しさん:2013/06/26(水) 23:01:36.52
やってみればいいだろ……

139 :デフォルトの名無しさん:2013/06/26(水) 23:30:03.98
逆に何故破綻すると思ったのか
何故qmakeが動かないと思ったのか
それが知りたい

140 :デフォルトの名無しさん:2013/06/26(水) 23:54:39.87
そういう主張の人をwebで見つけたっていうのと、
実際にそれっぽい挙動に出会ったから。

質問としては致命的な事に、そのときのエラーコードやソースは失われてる。

141 :デフォルトの名無しさん:2013/06/27(木) 01:46:26.11
確かqtcreatorの補完が、効かなくなったりしたような気がする

142 :デフォルトの名無しさん:2013/06/27(木) 04:26:26.82
main()とMainWindowだけはそれぞれ単独で分けてる
他の部品レベルはまとめても大丈夫だったかな
Q_OBJECTがマクロだから破綻してる?

143 :デフォルトの名無しさん:2013/06/27(木) 06:28:01.79
なるほどなるほど。
とりあえず最大でヘッダ3個ソース3個なら何とかなるから、その線で書いてみよう。
ありがと!

144 :デフォルトの名無しさん:2013/06/27(木) 11:52:24.47
どういたしまして

main() のヘッダは要らないので
ファイル 5 個で逝ける

145 :デフォルトの名無しさん:2013/06/27(木) 16:28:19.69
スマホ向けのFirefoxOSっていうのが、ベースがTizenってかいてあったけど
Qtと関係ある?

146 :デフォルトの名無しさん:2013/06/27(木) 19:43:57.74
ソース全体が大きくなればコンパイルできない可能性も

147 :デフォルトの名無しさん:2013/06/27(木) 23:26:42.54
TizenはMeeGoの後継プロジェクトなのは間違いないけどMeeGoのように
Qtを根幹のフレームワークにしてない
元々MeeGoの元であるMoblinもMaemoもQtよりGTK色が強かったし
(Androidとは違う)LinuxベースのモバイルOSという括りだと思う

148 :デフォルトの名無しさん:2013/06/28(金) 00:22:20.81
俺=>>137, >>140
とりあえず破綻したminimalな例を一つ挙げとく。ソースの形は見苦しくて済まぬが2chうp用。

#include<QtGui>

//foo.h//
class Foo:public QObject{
Q_OBJECT
public: Foo(void); int value()const;
public slots: void setValue(int v);
signals: void valueChanged(int v);
private: int val;
};

//foo.cpp//
Foo::Foo(void) {}
int Foo::value()const {return val;}
void Foo::setValue(int v) {if(v!=val){val=v;emit valueChanged(v);}}

//main.cpp//
int main(int argc,char**argv){
Foo fooa,foob;
QObject::connect(&fooa,SIGNAL(valueChanged(int)),&foob,SLOT(setValue(int)));
}

3分割すると問題無い。1ファイルだと破綻。環境は qt4.8と2年くらい前のubuntu。
何も考えずに $ qmake -project;qmake;make
>>142にもう一度感謝して寝ゆ。ありがとう。おやすみ。

149 :デフォルトの名無しさん:2013/06/28(金) 00:26:47.35
>>138-139に質問なんだけど、>>148を一つのファイルでコンパイルする時はどんな工夫してる?

150 :デフォルトの名無しさん:2013/06/28(金) 01:02:32.62
むしろ一つにまとめるメリットが分からん

151 :デフォルトの名無しさん:2013/06/28(金) 08:03:03.49
>>148
そのソースファイルがmain.cppだとしたら、次の行が必要。

#include "main.moc"

152 :デフォルトの名無しさん:2013/06/28(金) 22:23:15.98
>>151
すでに、頭の方に入れて見たり一番最後に入れて見たり、いろいろ試して駄目だった記憶が。
もう一度深呼吸して試してみるかな。

153 :デフォルトの名無しさん:2013/06/28(金) 22:54:47.74
QObjectの派生クラスの定義の後でmainの前が適当かな

154 :デフォルトの名無しさん:2013/06/28(金) 23:12:58.93
再確認した。一番最後に入れて成功した。
拡張子抜きファイル名から作られるルールをどこかで勘違いしていた様子。

>>151ありがとう!
今からじゃんじゃんもりもり書くぞー。

155 :デフォルトの名無しさん:2013/06/28(金) 23:37:17.02
>>150
1つのファイルにまとめるのは極端な例だけど、ソースファイル上に局所的に使用する
単純なQObjectの派生クラスを定義したいことはある。
ヘッダーファイルに書けばシグナル・スロット・プロパティ等を記述した、コンパイルに
必要なmocファイルはqmakeで自動でリンクされるけど、ソースファイルに定義した場合は
手動でやるしかない。これに気付かないとハマる場合がある。

156 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
Qt 5.1 リリースおめ
ttp://blog.qt.digia.com/blog/2013/07/03/qt-5-1-released/

157 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
Qt5.1は喜ばしい限りだが本命はQt5.2だな
Androidが正式にリリースされる予定だし、Ubuntuがmobile含めてQtに移行するマイルストーン

158 :デフォルトの名無しさん:2013/07/06(土) NY:AN:NY.AN
AndroidがポトペタでGUI作れるとか胸熱だな。

159 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
Qt5で
connect(sender, &Sender::valueChanged,
receiver, &Receiver::updateValue );
の形式が使えるようになったので、喜びいさんで使ってみたのですが、
QSpinBox の様に、引数の異なる複数のメソッドがある場合にコンパイルエラー
になります。(VS2010)
引数型を指定してメソッドアドレスを取得するにはどう記述したらいいのでしょうか?

160 :159:2013/07/07(日) NY:AN:NY.AN
void (QSpinBox::*pf)(int) = &QSpinBox::valueChanged;
connect(ui.spinBox, pf, this, &MainWindow::onValueChanged);

と書けばコンパイル出来て、期待したように動作しているみたいなのですが、
2行に分けず、1行で書くにはどうしたらいいのでしょうか?

161 :159:2013/07/07(日) NY:AN:NY.AN
typedef void (QSpinBox::*FUNC)(int);
connect(ui.spinBox, (FUNC)&QSpinBox::valueChanged,
this, &MainWindow::onValueChanged);

でも大丈夫でしたが、やっぱり1行にしたいです。

162 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
http://qt-project.org/doc/qt-5.1/qtcore/qobject.html#connect

旧来の方法も使えるのでは

QObject::connect(obj, SIGNAL(testSignal(int)), obj2, SLOT(testSlot(int)));
connect(SIGNAL(testSignal(int)), obj2, SLOT(testSlot(int)));

163 :159:2013/07/07(日) NY:AN:NY.AN
connect(ui.spinBox, (void (QSpinBox::*)(int))&QSpinBox::valueChanged;,
this, &MainWindow::onValueChanged);

でおk

164 :デフォルトの名無しさん:2013/07/07(日) NY:AN:NY.AN
Qtってもしかして最強なんじゃね

165 :デフォルトの名無しさん:2013/07/08(月) NY:AN:NY.AN
安定さえすれば

166 :デフォルトの名無しさん:2013/07/08(月) NY:AN:NY.AN
いくつかの案件で連続稼動してるけど不安定だと思ったことは無いな

167 :デフォルトの名無しさん:2013/07/08(月) NY:AN:NY.AN
Qt5で何が変わった?

168 :159:2013/07/08(月) NY:AN:NY.AN
connect(sender, &Sender::valueChanged,
receiver, &Receiver::updateValue );
の形式が使えるようになった
ラムダ式もスロットに使えるようになった

169 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
プログラムの起動時にShiftキーが押されていたら、
設定ファイルを読み込まずにデフォルト設定で立ち上がる、
みたいなことをしたいんだけど、Win32APIだと、

if ((GetAsyncKeyState(VK_SHIFT) &amp; 0x8000) == 0) {
QSettings settings;
...
}

とかするわけですが、プラットフォームに依存しないで、
Qtだけで非同期キースキャンを行う方法はあるでしょうか?

170 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
32bit,OpenGL,VS2012の組みあわせは配布されてないのか
コンパイルめんどくさいな

171 :デフォルトの名無しさん:2013/07/21(日) NY:AN:NY.AN
>>169
QApplication::queryKeyboardModifiers()

172 :169:2013/07/21(日) NY:AN:NY.AN
>>171
お、動いた。ありがとう。

173 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
QPainterで複数の円を描いて円の上にマウスカーソルを乗せると
どの円の上にカーソルが乗っているか分かるってのを書きたいんだけど、
お手軽にできる方法とか座標が円の中に含まれるかどうか判断する関数ってある?
OpenGLだとマウスピッキングとか使ってできたんだけど地道に書くしかないかな

174 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
あります

175 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
bknhmr

176 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
>>173
contains()

177 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
QGraphicsScene を使うのが簡単でいいんじゃない?

178 :デフォルトの名無しさん:2013/07/26(金) NY:AN:NY.AN
>>176,177
サンクス
どっちも使ったことないのでググってきます

179 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
マンコできゅきゅっとしてぇ〜な〜(;´ロ`)

180 :デフォルトの名無しさん:2013/07/27(土) NY:AN:NY.AN
NOKIAが手放して悲観論ばかりだったが、ここにきてGTK→Qtに移行するプロジェクトが異常に多い
日陰者暮しが長かったせいか、最近の動きは少し居心地が悪い。もちろん良い意味で

181 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
>>180
http://opensource.slashdot.jp/story/13/07/26/0410254/%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AEGNOME%E9%9B%A2%E3%82%8C%E3%81%8C%E9%80%B2%E3%82%93%E3%81%A7%E3%81%84%E3%82%8B%EF%BC%9F
↑これか

アマゾンで検索しても、GTKのプログラミング本より、Qtのプログラミング本の方が多いね。良いことだ。

182 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
悲観論はなかったよ。Nokiaが手放してAndroidやiOSのサポートされるしSymbianのコードが削除されるなどいいことばかりだっ た。

183 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
俺にはQt大勝利の未来しか見えない
機は熟しつつある

184 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
結局人々はC++に戻ってくるし、
そこに全プラットフォーム対応のツールキットがあるYOと言われれば
最早結果は核爆発を見るより明らかではないか。

185 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
Dの立場は

186 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
線香花火はすっこんでろ

187 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
Dって、D言語か?あんなもん使うや奴いるのか?
ガベージコレクションのある言語なんて氏ねばいい。

188 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
そういいながらスマートポインタ使うんですけどね

189 :デフォルトの名無しさん:2013/07/29(月) NY:AN:NY.AN
スマートポインタを使う俺らって実にスマートだよな

190 :デフォルトの名無しさん:2013/07/29(月) NY:AN:NY.AN
キッシュでも食ってろ

191 :デフォルトの名無しさん:2013/07/29(月) NY:AN:NY.AN
スマポは甘え

192 :デフォルトの名無しさん:2013/07/29(月) NY:AN:NY.AN
だが使うべき時に使わないのは知能退行

193 :デフォルトの名無しさん:2013/07/29(月) NY:AN:NY.AN
bazaar.launchpad.net/~phablet-team/webbrowser-app/trunk/view/head:/src/Ubuntu/Components/Extras/Browser/Browser.qml

そこで qml ですよ
環境整備とかそれ普及するんですかねとか言うな生え際退行
でも何かこれ漢のロマンっぽさがすごいです…

194 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
他人にポインタの解放を期待するよりスマポを使う方がよい設計
チーム開発しない趣味人ならナマポでもなんでも好きにすれば?

195 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
ヌルポ

196 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
>>195
ガッ!

197 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
Qtを勉強したいのですが
Qt Projectには多くのリストがあるので、どれをインストールすれば良いですか?
OSはWindowsXPです。
まず Qt5.1 or 4.8 ?
MinGW or VS2010 ではどんなメリット、デメリットがあるんですか?

198 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
>>197
よくわからないならVS2010でいいよ
今から勉強するならQt5がいいと思うけど
本とかはまだQt5に対応してないだろうからそこは注意かな
そんなに変わってないけどね

199 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
VS2010 のIDEに慣れているなら、VS2010 に Qt Add-in を入れることを薦める。
QtCreator の使い方を新たに覚える必要がなくなる。

200 :197:2013/07/30(火) NY:AN:NY.AN
198、199さま ありがとうございます。
MinGWでプログラムを書いて、別のPCで動かす場合は、動かすPCにもMinGWが
必要になるんでしょうか?

201 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
>>200
何個かDLLを追加するだけ
SDKの中に入ってる

202 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
C++なんで実行時には対応するruntime libraryが必要。MinGWでは、MinGW用のruntimeを
VS2010で作った場合は、Microsoft Visual C++ 2010 再頒布可能パッケージを入れること。
個人的には、新しくQtを勉強するなら、Qt5.1でMSVC2012。
XP等の古いOSにも対応したいなら、Qt4.8でMSVC2008が良いと思う。

203 :200:2013/07/30(火) NY:AN:NY.AN
分かりました。
みなさま、ありがとうございます。

204 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
ずっとMSVC使ってるがC++11を考えたらminGWの方が良いのかもって気にもなる

205 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
C++11 対応してても Qt で使えなかったら意味なさげ

206 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
あれ4.8ぐらいから対応し始めてるんじゃなかったっけ?
つかそもそも自分で書く部分は自由に使えるんだし意味ないってのは無いわ

207 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
ソース互換じゃないQtなんて・・・

208 :デフォルトの名無しさん:2013/08/01(木) NY:AN:NY.AN
Qt上で使用するという前提でC++11で使いたいものって何かな。
lambda関数は使いたいかな。
Qt5でSIGNAL/SLOTを関数ポインタでもconnectできるようにしたのは、この為でもあるし。
スマートポインタは、QSharedPointer/QWeakPointer を使ったほうがいいだろうし、
後はautoくらいかな。

209 :デフォルトの名無しさん:2013/08/01(木) NY:AN:NY.AN
ムーブとか初期化リストとかrange-based for とかconstexprとか
地味に便利なの増えたよねC++11

210 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
インテリセンスが無いと書けない体になってしまったんだが
minGW+QtcreatorってVS2012と比べてインテリセンスの性能は良いの?

211 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
Qt5.1+minGWで、コンソールアプリを作ってるんですが、
iostreamの、cout >>は使えないですか?

212 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
矢印の方向が cout << じゃなかった?
ストリーム使わないからおぼろげだけど

213 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
std::cout << が正解だね

214 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
>>212
VS2012は日常的に使わんから知らんが、俺の体感だと2008よりは反応が重く、
2010よりは軽い。VSみたいに壊れて反応しなくなることはない
目立って違うのは、ヘッダの依存関係をしっかり見てるからインクルードしていないものは補完されないのと
ポインタもドットで補完できるところくらいか。手が止まった時はF2かドットでOK。あとは自分で試してくれ

215 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
ネイティブC++に限れば、補完はVSよりQtCreatorのほうが数段上

216 :デフォルトの名無しさん:2013/08/04(日) NY:AN:NY.AN
>> 212
>> 213
う、 そうでした。 ありがとうございます。

217 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
>>211
使って悪いわけじゃないが、Qtでは QTextStream(stdin) を使うべきだと思う。
QString str;
QTextStream out(stdout);
out << str;

218 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
質問です。
linux mint15 環境で使っているのですが、gitの設定がよくわかりません。
linux環境でqtによる git設定が詳しいサイトどこかにありませんか?

パッケージマネージャを確認する限り組み込まれています。
プロジェクト作成時に、選択も可能です。
しかし、ソースのコミットを行った際、エラー表記されて出来ません。
(また、それ以前にリポジトリ作成位置もよくわかりません。)
よろしくお願いします。

219 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
エラーメッセージを貼れ

220 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
>>217
私もそう思います

221 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
git init 汁

222 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
あとはメアドと名前を登録してないとか

223 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
> (また、それ以前にリポジトリ作成位置もよくわかりません。)

224 :218:2013/08/05(月) NY:AN:NY.AN
>>222
ありがとう。メアド登録ミスってました。
再登録で出来ました。

>>221
新規作成でなく
qtが自動で用意してくれたリポジトリの場所が知りたかった。
意図が伝わりにい文章で申し訳ない。
で、今気づいたのですが、
(プログラムフォルダ)/.git が隠しで居ますが、
これがローカルリポジトリ本体ですかね?
(それともこれはsvnみたいな単なるフォルダ管理用ファイルなのかな、、。)

>>219
確かに(−−;

225 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
ローカルリポジトリ?
とりあえずgitコマンドで一通りの機能が使えるようになってから
IDEのGitプラグインを試した方がいいと思うよ

226 :218:2013/08/05(月) NY:AN:NY.AN
>>225
レポジトリをバックアップとして、別の場所にコピーするのが目的です。
別PCにローカルリポジトリをコピーしとけば、保険になるかなと、、、・
ちなみにGit サーバーは用意する予定はありません。

gitはとりあえず、使いながら憶える予定。
普段TortoiseSVNしか使ってないので、派生の有効活用する作成作業が
思いつかないですが(==;

227 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
馬鹿には無理

228 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN
>>227
もー。
ネットの中だけは辛口なんだからあ
(−▽−ノ

229 :デフォルトの名無しさん:2013/08/05(月) NY:AN:NY.AN ID:MvjWk5/8!
DropBoxにjitのリポ作ると快適。

230 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
>>229
そのやり方楽だけど、
リポジトリが何かの原因で壊れたら、
壊れた情報そのまま同期ちゃいますぜ。

231 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
working tree壊すならともかく、repository壊すようなら、
gitに限らず全てのVCSには参加するなと言いたい

232 :デフォルトの名無しさん:2013/08/06(火) NY:AN:NY.AN
>>231
リスク考慮してバックアップしてるんだから、
repository自体壊れるリスクも考慮するべきでしょ。
git操作以外の別の作業中、壊れる可能性もあるんだし。
たとえば、別のレポジトリフォルダを間違えて上書きで置いちゃうとか。

まあ、壊すやつは、参加するなっていう考えには賛同するよ
(TーT

233 :デフォルトの名無しさん:2013/08/08(木) NY:AN:NY.AN
QTableWidgetで、エンターキーを押したら、編集を開始したいです。

eventFilterで、QKeyEventを処理して、QTableWidget::editコールという作りにしたところ、

QTableWidgetが既に編集中かどうかを判定できないです。orz

234 :デフォルトの名無しさん:2013/08/08(木) NY:AN:NY.AN
Qt::ItemFlags QTableWidgetItem::flags()
で選択状態のitemの状態を見るんじゃないか

235 :デフォルトの名無しさん:2013/08/09(金) NY:AN:NY.AN
質問。
Linux 環境で、
FindWindowやSendMessageみたいな命令をQTで行いたいのですが、可能ですか?
Windowと違うから根本的に無理なのでしょうか?

236 :デフォルトの名無しさん:2013/08/09(金) NY:AN:NY.AN
>>235
可能です。
Linuxの方がWindowsよりもはるかなまともなので根本的に無理ではありません。

237 :デフォルトの名無しさん:2013/08/09(金) NY:AN:NY.AN
>>233
そんな変な操作にするは根本的に間違いでやってはならないことだ。編集の確定はどうするんだい。

238 :デフォルトの名無しさん:2013/08/09(金) NY:AN:NY.AN ID:NNzCl3Jk!
Android版のQtのソース互換性はどのくらいなの?
PC用に作ったプログラムをそのままAndroidで動かしたいけど、
プルダウンメニューとかどうなるの?

239 :235:2013/08/09(金) NY:AN:NY.AN
>>236
すみません、詳しいやり方を教えていただけませんか?
参考になるURLでもかまいません。
こちらで色々調べたのですが、
たぶんこのネタだと思うのですが、詳しいやり方がわからずじまいな状態です。
ttp://kosendepg.at.webry.info/201012/article_3.html

具体的にやりたいことを書きますと、
(FireFoxのアドオン)DownThemAllのダウンロード追加画面の
ファイルパス入力欄に対し
プログラムから文字列(フォルダパス)を書き込みしたい。

よろしくお願いします。

240 :デフォルトの名無しさん:2013/08/10(土) NY:AN:NY.AN
>239
漏れは、通りがかりの素人ですが、
入力欄を特定するのに、動いているプログラムのプロセスID、画面ID、
入力欄のコントロールIDなどが、必要なのでは?

241 :235:2013/08/10(土) NY:AN:NY.AN
>>240
window系のプログラムなら、
プロセスIDは、プログラムタイトルをFindWindowで、
画面IDとコントロールIDはVS付属のspy++を使うことにより取得が可能です。
そのような事を含めた上で、
linuxでは、どのようにすれば、いいのかが知りたいです。

242 :240:2013/08/10(土) NY:AN:NY.AN
「ふつうのLinuxプログラミング」、2011
今、この本を読んでますが、Gtk+やQtは、
X Window SystemのXプロトコルをラップする、
Cのライブラリ、Xlibを使っているようです
最新のAPIは、本に載っていないので、ネットで調べるしかないようです

243 :240:2013/08/10(土) NY:AN:NY.AN
FireFoxか、Xlibが、その画面や入力欄にアクセスする、APIを持っていますか?
なければ、スパイツールか何かで、画面や入力欄にアクセスする?

244 :デフォルトの名無しさん:2013/08/10(土) NY:AN:NY.AN
QtにはD-bus関連のクラスがあるけど、相手側がD-bus用いていればプロセス間通信とか制御ができる。
例えばKDEのJukを起動した状態で
qdbus org.kde.juk /Search setSearchText "aaa"
て、コマンド打てばJukの検索文字列をaaaに設定できる。
因みにqdbusは端末から任意のD-bus操作ができるコマンド。

245 :デフォルトの名無しさん:2013/08/10(土) NY:AN:NY.AN
>>238
> Android版のQtのソース互換性はどのくらいなの?
ほとんどそのまま動く
ただし、ピンチなどのタッチ操作は別途記述を追加する必要がある
また、通常マウスカーソルが表示されないので、UIを変える必要もある
> PC用に作ったプログラムをそのままAndroidで動かしたいけど、
そのままだと通常使い物にならないよ
> プルダウンメニューとかどうなるの?
右下の|みたいなアイコンを押すと、プルダウンメニューが表示される

246 :デフォルトの名無しさん:2013/08/10(土) NY:AN:NY.AN
>>243
x自体のウィジェットIDが欲しいならxpropかxwininfoあたりのソース見ればいい
Firefox内のウィジェットのIDがほしいなら拡張を作成する

247 :235:2013/08/11(日) NY:AN:NY.AN
>>242,243,244,246
情報ありがとうございます。
246の情報で、Window idの取得はどうにかなりますね。
今は、テキストボックスのid?を調べる方法、次にそこに文字列を入れ込む方法で悩み中です。
xwininfoのオプション指定でテキストボックスの情報が取得出来ないか
色々やってみましたか駄目で、window側でSPY++で
試してみましたが、そちら側でも無理でした。
fireFoxのアドオンなので、通常のテキストボックスと違うのかもしれません、、。

windows idだけは取得可能ですが、それだけだと
ダイアログにキーダウンイベント送るくらいしか使えませんよね(予想)
手動で「ファイルの保存先」にフォーカス当てて、
文字列一個一個をキーダウンで送り込めばいけるかもしれませんが、、。

248 :235:2013/08/11(日) NY:AN:NY.AN
>>244
D-busのプロセス間通信だと、受信側に仕込みが存在し、
また、その仕込みの情報が公開されてないと
無理そうな気がしているのですが
今回の場合(他人が作ったアドオン)でも可能なのでしょうか?
=============
思ったより難易度が高いので
上記とは違う解決方法も考えています。
firefoxの"about:config"extensions.dta.directoryに
ダウンロード保存先パス履歴が記録されているのでその部分を
プログラムで書き換えてしまうやり方です。
(軽く調べてただけの段階ですが、)これに関しても情報がほとんど見つかりません。
何か知っていればよろしくお願いします。
また、別手段があればアドバイスお願いします。

249 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
>>241
Qt以前にLinuxというかXの基本をちょっとは勉強したら?
ウィンドウのプロセスID取得なんて基礎中の基礎だから

250 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
フォーカス制御してinputデバイスに入力してやればなんだって出来るだろ

251 :235:2013/08/11(日) NY:AN:NY.AN
>>250
コントロール名称の取得が出来ない事から
自分はこのダイアログ画面は(あくまで予想ですが、)
外枠はともかく、ダイアログ内の中身はFireFoxのによる独自の描画では無いかと考えています。
(どのOSでも動くように作られているからアドオン側が
各OSのコントロールを直接使っている事自体考えにくいですし)

もしそうであった場合、
MozillaWindowClass側のクラスで何らかのインターフェイスが必要を用意してくれていないと
ダイアログ画面全体に対しては、何らかのメッセージは送れるかもしれませんが、
その画面上の特定のコントロールに対して処理を行うのは無理です。
そのため、通常の方法で特定コントロールへのフォーカス操作できない気がしているます。
自分が勉強不足による勘違いであればいいんですが、、。

>>249
すみません。Linuxは、ホント最近初めたばかりなのでXを含め勉強中です(−−;

252 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
そうじゃなくて、仮想マウスクリックと仮想キー入力でなんでも出来るでしょってこと
Xなら当たり前の技

253 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
どういうことがしたいのか知らないけど
DownThemAll 自体を改造したほうが楽なんじゃないの?w
URL使って機能実現するようにして、QtからはそのURLで開くだけとか

254 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
ここまで読んでQtが全く関係ないことに気付いた

255 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
Qt Creator2.7.2ですが、インデントタブは空白になってるようなんですが
これを通常のタブにできないんですか?

256 :デフォルトの名無しさん:2013/08/11(日) NY:AN:NY.AN
ヘルプ読め池沼
つうかテキトーに探してもすぐ見つかるだろカス

257 :235:2013/08/12(月) NY:AN:NY.AN
>>250,252
247で書いてる
>>手動で「ファイルの保存先」にフォーカス当てて、
>>文字列一個一個をキーダウンで送り込めばいけるかもしれませんが、、。
がその事書いてるつもりなのですが、わかりずらくてすみません。
ちなみにwindows系でも、他プロセスのウィンド操作では結構普通に使いますよ。

この方法の問題点は、フォーカス設定です。
何度も書いてますが、fireFoxアドオンは、
コントロールID指定でフォーカス合わせる手段が見つかりません。
後、他によくある手段で、
TABを数回決め打ちで送りフォーカス合わせるような事も考えましたが、
入力欄の開始位置は前回状況によって変わるので、それも出来ません。
もしこの方法でを用いるのなら、入力フォーカスをいちいち手で
当てる運用なので、もう少し楽な運用にしたい。

>>253
DownThemAllのソースって公開されてませんかね(−−;
保存された、DownThemAllのファイルのぞいたけど、バイナリでした。

>>254
ごめんなさい。

258 :235:2013/08/12(月) NY:AN:NY.AN
正直昨日今日はリアルが忙しかったので全然検証出来ていませんが、
だいたいの実現可能な方法が見えてきました。

QTプログラム-> 何らかの方法で受渡(D-bus?最悪ファイル渡し) ->自作FireFoxアドオン
->about:Config書込->DownThemAll
でとりあえず作ってみます。
無理そうなら次点でキーダウン+クリップボード。
色々アドバイスありがとうございました。
(−▽−ノ

259 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>255
>>118

260 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
だから、仮想マウスクリック…

人間がやってることをそのままやればいいでしょ

261 :235:2013/08/12(月) NY:AN:NY.AN
>>260
ゴメン。仮想マウスクリックでフォーカス当てろってことね。
今更ながら気づいたよ。そのやり方の方がはるかに楽だ。
(−−;
情報ありがとう。

(゚-゚;)ウーン、と考えた結果、
とりあえず両方対応でやってみます。
DownThemAll画面が画面上存在するときとは、仮想マウス+仮想キー。
無い場合は、about:Config書込で。
では(=▽=ノ

262 :デフォルトの名無しさん:2013/08/12(月) NY:AN:NY.AN
>>257
DownThemAll 公式サイトにリポジトリあるじゃん…

263 :235:2013/08/13(火) NY:AN:NY.AN
>>262
ありがとう。全然気づいてませんでした。
マジで、だめだめですね自分。(−_−;

とりあえず、ソース落として読んでますが、
アドオン作成入門サイト読み始めたばかりの自分にはほとんど、わからん。
まあ、いじるとしたらGUI側のソースを(どう多く見積もっても)100行以下の改造で済むと思うし、
javascriptだからどうにかなるとは思うんですが、、。
お盆休み期間中、楽しめそうだぜ (((o(*゚▽゚*)o)))

もし、これ出来るんなら、下記の手順で対応します。。
QTプログラム-> 何らかの方法で受渡(D-bus?最悪ファイル渡し) ->(改造版)DownThemAll

後、QTから外れた話ばっかしてすみません。
しばらくROMりますね。

264 :デフォルトの名無しさん:2013/08/13(火) NY:AN:NY.AN
WindowsXPにQt5.1.0+minGWで作ったアプリを、別のWindowsXPのマシンに配布して
実行したところ、Visual C++ Runtime Library Run Time error!とのエラー
が出ます。具体的はファイル名等が無いのですが、
何を持ってくればよいのでしょうか?

265 :デフォルトの名無しさん:2013/08/13(火) NY:AN:NY.AN
VS2010版でビルドした場合は、
msvcp100.dll, msvcr100.dll
を配布するとOKなんだ、
minGW なんだよね?

266 :デフォルトの名無しさん:2013/08/13(火) NY:AN:NY.AN
QDateTimeをdoubleにする方法を教えて下さいorz

267 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
>>266
フォーマット書式 書かないと誰も答えられないよ。
それ以前に、これだけ時間経ったなら、
さすがに自己解決済みと思いますが。

268 :266:2013/08/14(水) NY:AN:NY.AN
>フォーマット書式

インプットは、
>QDateTime dt = QDateTime::currentDateTime();
といった値です。

アウトプットは、
>double型
です。

269 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
double型の単位は何だよ
UnixTimeなのか、msecなのか

270 :266:2013/08/14(水) NY:AN:NY.AN
あ、勝手にある年から一律時間と思っていましたが、
UnixTimeというのとtimestamp型というのと、大きく2つに分かれるわけですね。
希望は、将来に問題無いtimestampです。
msecまで把握できなくてもsecまででOKだったりしますが。
でも、Linuxプログラム、Winプログラムから逆算可能なもの、です。
昔、DelphiのTDateTime型と、VC++(もしくは、MDBの日付型)と、ホンノ少し補正値がいった記憶があり、そういうのは怖いなと思いました。


調べてみると、
http://qt-project.org/doc/note_revisions/35/57/view
Julian Dateってのがあるんですね?_?

昨日見たときは、ジュリアン氏の関数かと思ったw

271 :266:2013/08/14(水) NY:AN:NY.AN
連投すみません:

・QDateTimeの内部の持ち方が知りたいです。(ソースは印刷したのですが。。。)

・Julian Dateっていうのは、システム的には一般的とは言えないですよね?

・ググってると、
 >DATETIME型 1000-01-01 00:00:00〜9999-12-31 23:59:59
 >TIMESTAMP型 1970-01-01 00:00:00〜2037年の一定の時点
 というのがありましたが、これらが一般的ですよね?

272 :266:2013/08/14(水) NY:AN:NY.AN
さらに連投:

・Julian Dateからunixタイムスタンプに変換する記述は見つけましたが、Julian Dateは、時間の比較ができないからNGです

・ググると、DATETIME型とTIMESTAMP型の選択には根深い問題があるんですね。。。

・QDateTime同士の前後を把握したいので、QDateTime::ToDoubleライクなメソッドが欲しいのですが、どう記述すれば良いのでしょう?_?

273 :266:2013/08/14(水) NY:AN:NY.AN
最後の連投:

過去ログから、
>QDateTime::toTime_t
を見つけました。

ググっても過去ログしか出てこないなんて、結構マイナー?

>toTime_t
って名前からすると、やはり2037年問題でアウトなんでしょうか?_?

QDateTimeの前後比較はtoTime_tでやってしまおうかと思いますが、
保存データに使う分には足りないイメージですねorz

274 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
とりあえずドキュメント嫁
http://qt-project.org/doc/qt-5.1/qtcore/qdatetime.html

275 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
toStringで時刻を整形して
20130814135000
の文字列からtoDoubleで数値へ変換

276 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
QDateTime同士の前後を把握するのにdoubleに変換する理由が想像できない

277 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
slider0はarray[0]の値を、slider1はarray[1]の値を操作する
って感じにしたいんだけど
connect文や値を変更するslots関数を要素の数だけ書く方法しか思いつかない
なんか良い書き方ってある?
GUIはdesigner使って作ってます。

278 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>272
QDateTime a,b;
if(a > b) { ...

>>277
QSignalMapper

279 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>278
これでできそうです!
ありがとうございました。

280 :デフォルトの名無しさん:2013/08/16(金) NY:AN:NY.AN
>>277 >>279
#include <QVariant>

QString propName = "number";

スライダにダイナミックプロパティで値を設定。
slider0->setProperty(propName, 0)
slider1->setProperty(propName, 1)
...

スロットで、
int number = sender()->property(propName).toInt();

281 :272:2013/08/19(月) NY:AN:NY.AN
つ [d] >>278

282 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
>QtSingleApplication

って、別途ライブラリ要るんでつねorz

283 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
QTableWidgetに値を設定するときの、
newしたQTableWidgetItemをdeleteする必用は無いのでしょうか?
どのサンプルを見ても、newのみなんですが?_?

ついでに、QTableWidgetの入出力を簡単にする派生クラスとか関数群があれば欲しいですorz

284 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
Q_OBJECT のおかげですしおすし

285 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
>>283
newするときに親widgetを引数で渡したら、親が削除されるときに子も削除される。たぶん


デバッグしてて気づいたんだが終了時に
:0: エラー: Exception at 0x76c8c41f, code: 0xd: , flags=0x1 (execution cannot be continued) (first chance)
こんなん出るんだがどゆこと?気にしなくていいのかな

286 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
>>283
The table takes ownership of the item.

287 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
>>284
QTableWidgetItemはQObjectではない。
QTableWidgetが設定したQTableWidgetItemを消すように作られている。

288 :283:2013/08/21(水) NY:AN:NY.AN
>QTableWidgetが設定したQTableWidgetItemを消す
なるほど、有難うございました。

もし良ければ、どのタイミングで消されるのか、も教えて頂きたいです。
というのは、QTableWidgetの外で、QTableWidgetItemをnewしまくって、
同じX、Yにセットしまくっても、OKなのか知りたいです。
ソース読むのが正しいのでしょうが、先に正解を知っておきたいです。

289 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
>>288
The table takes ownership of the item. とリファレンスに書かれていれば設定すると前のは消される。

QTableWidget は使うのは簡単。しかし、アイテムを抱えるのとモデルをプライベートに持ってカスタマイズしたものと入れ替えられないので
QTableView を使うようにした方が先々困らない。QTableWidget を使うとほとんどどこかで破綻する。

290 :283:2013/08/21(水) NY:AN:NY.AN
>設定すると前のは消される。
ヲォ、これで安心して使えます。有難うございました。

>QTableWidget を使うとほとんどどこかで破綻する。
何と!!!orz

291 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
日本語の書籍とか揃ってるしQt4から入ってQt5に移行しようと思ってるんだけど、4から5ってスムーズに移行できる?

292 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>>291
> 日本語の書籍とか揃ってるしQt4から入ってQt5に移行しようと思ってるんだけど、4から5ってスムーズに移行できる?
Widget プログラムしかやってないけど、比較的スムース。
ソースの互換性も高い。

ただ、IMEの周りの仕様が変更されているのがいたい

293 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>QLineEdit
>QTableWidget

これらで、入力が変更されたかどうか、判定する方法はあるのでしょうか?
データの一致まで判断したいわけではなく、手で一旦イジラレタかどうかを判定したいのです。

294 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>>292
thx
一旦Qt4でQtに慣れることにする

295 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>Qtに慣れる

Qtのレイアウトマネージャ大変。WinのIDEにバグもあったり(><)

296 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
>>295
レイアウトマネージャは簡単な方だよ。

297 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
>>293
QLIneEditとQTableWidgetのどちらもドキュメントを読むとすぐに分かる。

298 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
Android用Qtでシェルコマンドを呼び出すQtアプリを作っているがうまく動かない。

MinistroにQtprocessって実装されてるの?

299 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
Qt4系とQt5系は一緒にインストールできるんですね。MinGW版だと簡単だし
VS版もhttp://naohiro7.hatenablog.com/entry/2013/03/14/011704←これをみると
簡単にできそうです。

オライリーの本とかはQt4系なので、そっちで勉強して
QtQuickの本はQt5なので、そっちでやってみようかな。

私はQtとPerlが好きであとJavaScriptも好きです。金儲けに縁が遠いものばかりです。

QtQuickのは簡単そうなのでやってみたいです。2600円もしますが。C++自体もすごい深くて好きです。

300 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
ブログでやってろよw

301 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
Qtってlispで使えますか?

302 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
馬鹿Lisperには無理

303 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
DockWidgetをフローティング状態ににすると、
メインウィンドウをクリックし直すまでフォーカスはDockWidgetに合てるんだけど
この状態でメインウィンドウのkeyPressEventに反応させる方法ってある?

304 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
>>301
CommonQt
http://common-lisp.net/project/commonqt/

305 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
ある
簡単
方法は自分で調べろ小僧

306 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
方法はひとつじゃないからな
ひとつ見つけたからってそこで満足してたら成長しないぞ小僧

307 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
邪魔だぞおっさん

308 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
QTableWidgetって、
セル単位で色づけできますでしょうか?

309 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
>>308
QTableWidgetItem::setBackground(const QBrush & brush)

310 :308:2013/08/27(火) NY:AN:NY.AN
つ d

アイテムにメソッドがありましたか。アイテムがセルになりますもんね。

311 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
adobeソフトとかである数値を左右にドラッグしたら増減して
クリックしたら直接入力できるGUIってQtの機能じゃないよな?

312 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
Qtのライブラリって、例外クラスもあるのかなぁ。
QException、みたいな。

313 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
プロジェクトフォルダ内のファイルをバックアップしておいて、元に戻すために
入替えしたところ、Desinerの内容が反映されなくなってしまいました。
Degugフォルダの内容も全て削除して、ビルドしてもダメでした。
どうすればいいんでしょうか?

314 :デフォルトの名無しさん:2013/08/27(火) NY:AN:NY.AN
ui_hogehoge.hが残ってるとか

315 :313:2013/08/28(水) NY:AN:NY.AN
>314
なるほど、こんなものがあったのか
ありがとうございます。

316 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
う〜ん
QML のシングルトン型の登録ががどうにもうまくいかない

qmlRegisterType<TestObject>("TestLib", 1, 0, "TestObject");

とすると、TestLib も import できるし、TestObjectも QML から見れるのだけど

qmlRegisterSingletonType<TestObject>("TestLib", 1, 0, "TestObject", provider);

とすると、TestLib も TestObject も QML からは見れないし、provider コールバック関数も呼ばれている様子はない
TestObjectは単純に、QObjectを継承しただけの型だし、provider も

static QObject* provider(QQmlEngine* engine, QJSEngine* scriptEngine)
{
Q_UNUSED(engine)
Q_UNUSED(scriptEngine)

TestObject *object = new TestObject();
return object;
}

というようなもの
何かどこか間違えているのかなぁ

317 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
Qtもさぁ、最初の初心者のうちは楽しかったんだけどさー。
オライリーのやつやってるうちに他の言語と同様退屈になってきた。

318 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
Qt云々じゃなくてプログラマの資質が無いのでは?

319 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
退屈とか楽しいとか...言えるだけいいよなぁ。

320 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
手段であって目的じゃないんだから楽しいもくそもないわな

321 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
目的と納期が決まってて最短でやろうとするとQtに限らずイライラすんね
こういうのは回り道しながらできることを広げながらやった方が楽しい

322 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
>>311
スライダーとスピンボックス並べて連携すればいいんでないの?

323 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
>>322
それしてるんだけど幅取るしできたら嬉しいんだけどな
スライダーもdouble型使えないの一手間面倒だとかあるし

324 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
QTabWidgetで、
タブが切り替わる前のシグナルって無いですよね?
派生でシグナル足せるんでしょうか?

325 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
focusを失うシグナルは来るんじゃないかな

326 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
有難うございます。
「スロットへ移動」メニューでは出てこないのですが?_?

327 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
みなさんお世話になりました
明日で2ch終了らしいので
今のうちに最後のご挨拶をしておきます

328 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
emitのときにメモリとかオブジェクトを排他したり破棄したりするから、QByteArrayを使わなきゃならない、なんて話はありますか?

329 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
QSpinBoxでテキスト入力のみReadOnlyにする方法を教えて下さいorz

330 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
>>328
ない。

331 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
>>329
サブクラス化してlineEdit()->setReadOnly(true)を呼ぶか、
QSpinBox* spinBox = new QSpinBox;
QLineEdit* lineEdit = qobject_cast<QLineEdit*>(spinBox->findChild<QLineEdit*>());
if (lineEdit) lineEdit->setReadOnly(true);

332 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
つd >>331

333 :322:2013/08/30(金) NY:AN:NY.AN
>>323
こんなんでどう?
http://www.soramimi.jp/qt/example/popslider/

Double Spin Box はあるけど、Double Slider は無いから、
ちょっと工夫すべきところはあると思うけど。

334 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
俺ならQLineEditを継承させて、mousePressEvent,mouseMoveEvent,mouseReleaseEvent拾って
自分で作るかな

335 :デフォルトの名無しさん:2013/08/31(土) NY:AN:NY.AN
>>333
あーなるほどそういうのも面白いな

>>334
結局そうなるか
お手軽にできたら良いのにって思ったけど
一度作れば使いまわせるんだから作れってことだな

336 :デフォルトの名無しさん:2013/09/01(日) 08:27:51.94
Qt5のQInputMethodQueryEventの使い方を教えてください

337 :デフォルトの名無しさん:2013/09/01(日) 09:22:34.01
お湯につけて三分待ちます

338 :デフォルトの名無しさん:2013/09/01(日) 11:24:23.74
QtQuickもコマンドプロンプトで開発できるようにして欲しいです。

低スペックパソコンだとIDEについていけない・・

339 :デフォルトの名無しさん:2013/09/01(日) 14:39:33.42
いや出来るだろ普通に

340 :デフォルトの名無しさん:2013/09/01(日) 17:14:24.05
>>338
EmacsにQMLモード入れて開発している。

341 :338:2013/09/01(日) 22:07:34.34
>>339 できるんですか!? >>340 私はWindowsXPなので・・・
なんか、今日、QtQuickの本見てきたら、WindowsXPはサポートしてないみたいなことかいてた・・

どうやってググッても見つからないんで、ヒントだけでもくれればありがたいです。
ググって調べますんで・・ 

暇な人でけっこうです。

342 :デフォルトの名無しさん:2013/09/02(月) 10:47:29.31
>>341
OS入れ替えろよ
金いらねえだろ

343 :デフォルトの名無しさん:2013/09/02(月) 11:30:33.72
すげぇ・・・ 質問に答えられなくなると、OSを入れ替えろとは・・・

344 :デフォルトの名無しさん:2013/09/02(月) 11:42:16.94
そのOSサポート切れなんで

345 :デフォルトの名無しさん:2013/09/02(月) 11:44:53.00
お金を払えばサポートして貰えるようになったよ!やったね!

346 :デフォルトの名無しさん:2013/09/02(月) 16:39:43.18
>>342 は金いらねえだろっていってるんだから、Linuxにでも乗り換えろという意味かね(´ω`)

347 :デフォルトの名無しさん:2013/09/03(火) 17:32:56.11
とうとうノキアがマイロソフトに買収されたか
Qtにとって当時世界携帯シェアの40%超の会社に組込まれたことが
大きな転機となったことは間違い無い
感慨深いな

348 :デフォルトの名無しさん:2013/09/03(火) 20:46:37.53
ノキアの端末事業

349 :デフォルトの名無しさん:2013/09/04(水) 14:36:19.51
さらばノキア。Qtは新しい会社で元気にやってるよ
社名覚えてないけど

350 :デフォルトの名無しさん:2013/09/04(水) 15:17:48.94
上の方に会社のリンクあると思ったけど見つからないな

351 :デフォルトの名無しさん:2013/09/04(水) 15:22:43.18
Windows Q

352 :デフォルトの名無しさん:2013/09/04(水) 15:28:40.68
>>156

353 :デフォルトの名無しさん:2013/09/04(水) 18:04:20.22
一般ユーザで実行した時とsudoで実行した時でGUIの見た目が変わってしまうのですが何が原因でしょうか?
Ubuntu12.04、Qt4です

354 :デフォルトの名無しさん:2013/09/04(水) 18:50:19.58
>>353
QApplicaionのインスタンス生成時にデスクトップ環境が何かを判断してスタイルを決めているため。
いろいろ判定をしていて、Ubuntuなら環境変数GNOME_DESKTOP_SESSION_IDが空でなければQtのGTK+スタイルが使われる。
一般ユーザではこの環境変数が設定されているのでGTK+スタイルが使われる。
ルートになると設定されていないのでWindowsクラシックスタイルが使われる。

355 :デフォルトの名無しさん:2013/09/04(水) 18:50:23.70
>>353
${HOME}/.config/Trolltech.conf

356 :デフォルトの名無しさん:2013/09/04(水) 18:52:41.55
>>355
違う。

357 :デフォルトの名無しさん:2013/09/05(木) 00:10:13.43
// で始まるコメント行全体をマッチさせる
QRegExp オブジェクトはどのように書けばよいでしょうか??

教えていただけると嬉しいです。

358 :デフォルトの名無しさん:2013/09/05(木) 03:32:11.85
そんなことすらネットに頼るカス野郎
自分で考えろと言いたいがお前には無理か

^//.*$

359 :デフォルトの名無しさん:2013/09/05(木) 06:53:09.72
>>358
ツンデレ乙

360 :デフォルトの名無しさん:2013/09/05(木) 14:28:23.59
>>354
仰る通り
QApplication::setStyle("gtk");
で明示的に指定することで解決できました
ありがとうございます

361 :デフォルトの名無しさん:2013/09/05(木) 17:27:46.14
GTKは糞

362 :デフォルトの名無しさん:2013/09/05(木) 18:38:52.79
qt creatorでFakeVimを使用している時にコードに日本語を入力すると赤アンダーラインが出るがこれバグ?

363 :デフォルトの名無しさん:2013/09/05(木) 19:27:40.97
徹底解説:いまさら聞けない GUI開発フレームワーク「Qt」活用 〜組み込み機器開発で選ばれる理由〜 - MONOist(モノイスト)
http://monoist.atmarkit.co.jp/mn/articles/1308/21/news002.html

364 :デフォルトの名無しさん:2013/09/06(金) 11:17:16.02
qwtPlotについて教えて下さいorz

軸の最大値最小値は、
>qwtPlot->setAxisScale(QwtPlot::yLeft, iMin, iMax);
で設定出来ました。

逆に、軸の最大値最小値を取得する方法はありますでしょうか?

365 :デフォルトの名無しさん:2013/09/06(金) 11:42:08.47
>qwtPlot

データ(QVector<QPointF>)から、
軸の最大値最小値を適当に設定する
メソッド/プロパティはどれになりますでしょうか?

366 :デフォルトの名無しさん:2013/09/06(金) 17:25:18.97
http://chrome.blogspot.jp/2013/09/a-new-breed-of-chrome-apps.html
http://itpro.nikkeibp.co.jp/article/NEWS/20130906/502868/
http://news.mynavi.jp/news/2013/09/06/057/
http://internet.watch.impress.co.jp/docs/news/20130906_614308.html

367 :デフォルトの名無しさん:2013/09/06(金) 18:31:58.06
QtのOpenGLってパフォーマンスや信頼性どう?
ゲームのマルチ開発に使えないかと思ったんだが。
つかデスクトップだとGoogle EarthやLightwaveあたりで実績あるんすかね、もしかして。

368 :デフォルトの名無しさん:2013/09/06(金) 19:52:59.95
>>367
何いってんのお前

369 :デフォルトの名無しさん:2013/09/06(金) 20:56:17.78
>>367
はあ?

370 :デフォルトの名無しさん:2013/09/07(土) 07:10:05.90
>>368-369が何に反応しているのか解らんのだが
QtのOpenGLでゲーム作ってる事例はあるよ
https://www.youtube.com/watch?v=3RH1gkGXT9s

371 :デフォルトの名無しさん:2013/09/07(土) 07:11:38.15
GLUTやSDL使うところをQtどうなんつー話では。
しらんけど

372 :デフォルトの名無しさん:2013/09/07(土) 07:48:42.94
>>370
はあ?何いってんのお前

373 :デフォルトの名無しさん:2013/09/07(土) 09:37:58.37
>>364
ソースコードを1分読んで取得できるものとできないものがあるのが分かった。

374 :デフォルトの名無しさん:2013/09/07(土) 09:40:00.87
>>365
ソースコードを読めばよいのに。

375 :デフォルトの名無しさん:2013/09/08(日) 21:07:57.33
>>358
コメント行を削りたかったのですが、

QRegExp rx("//.*\n");
rx.setMinimal(true);
string.remove(rx);

で行けました。

ヒントありがとうございました。

376 :デフォルトの名無しさん:2013/09/09(月) 17:14:05.36
QString から、
>std::string.c_str()
みたいなポインタを取得するにはどう書けばよいでしょうか?

377 :デフォルトの名無しさん:2013/09/09(月) 17:20:31.64
QByteArray経由かな

378 :デフォルトの名無しさん:2013/09/09(月) 21:24:18.71
QString::data() ってなかったっけ?

379 :デフォルトの名無しさん:2013/09/10(火) 01:37:30.75
encodeがないからな

380 :デフォルトの名無しさん:2013/09/10(火) 19:43:30.78
QT5から、QT += svgがUnknown module(s) in QT: svgのメッセージを吐き出すんだけど?
レポジトリをppa.launchpad.net/canonical-qt5-edgers/qt5-beta-properに変えても治らない。
何か仕様変わった? ググッても出てこない。 コマタ

381 :デフォルトの名無しさん:2013/09/10(火) 20:08:42.08
Qt5は仕様変わってもドキュメントに書いてないから困る

382 :デフォルトの名無しさん:2013/09/10(火) 22:26:08.41
初めてC++のプログラム開発をQt Creatorで始めてまだ2ヶ月です。
今、シグナルとスロットをconnectした処理を作ろうとしているのですが、
調べ方が悪いのかわからない疑問があるので知恵をお貸し下さい。

例えば、signalAに対するslotAの実行中に、またsignalAが発生した場合、
slotAが2つ並行して実行されてしまうのでしょうか。
並行実行される場合、例えばslotAでグローバル変数の読み書きをしていると、
その変数の読み書きに対して排他制御が必要になります。

また上の質問と同じかもしれませんが、
signalBとそれに対するslotB、signalCとそれに対するslotCがあったとして、
signalBが発生してslotBを実行中にsignalCが発生した場合、
slotBと並行してslotCが実行されるのでしょうか。
それともslotBが終了してからslotCが実行されるのでしょうか。

ちなみにプログラムは、シングルプロセスのシングルスレッドです。
普通なら並行処理はあり得ないのですが、シグナルは割込?なのでどうなんだろうかと。

383 :デフォルトの名無しさん:2013/09/10(火) 22:46:36.96
いやなんというか…

背伸びせずに、とりあえずそろばんあたりから始めてみてはいかがでしょう?

384 :デフォルトの名無しさん:2013/09/10(火) 22:50:19.07
とりあえずQtのヘルプ読めよ

シグナルを割り込みとか言ってる時点でQtのことなにもわかってないだろ

そんな状態で開発とかキチガイに刃物

385 :デフォルトの名無しさん:2013/09/10(火) 22:51:52.28
取り敢えず、slotAの中にsleepでまってqDebugにメッセージを吐き出す様にして、mouseイベントかなんかでsignalAを複数起こせば動作を調べることが出来るべ。

386 :デフォルトの名無しさん:2013/09/11(水) 07:46:15.93
380でし。 svgはQt5.0から5.1に変えたらSolvedです。
ただ、イロイロ変わってますねぇ。 久方なんで面食らっちまった。
前方参照エラーで弾かれるとか、、、 一部ワンパスパースに変わったのかな?
どこかに4.8->5.1までのDiffのまとめサイト無いですか? ご本家には無かったでし。

387 :デフォルトの名無しさん:2013/09/11(水) 08:03:30.53
386でし。
いや ご本家には、migration reportを作ろうというページはreserveされていますがエンプティーです。 w
キーワードをmigrate port translateとかいろいろググっても総括サイトは無いようです。
ビッグプログラムコンバートで苦労してもサイトアップするのが面倒なんでしょうね w

388 :デフォルトの名無しさん:2013/09/11(水) 08:20:29.61
>>382
実行するタイミングは自分で設定できる

389 :デフォルトの名無しさん:2013/09/11(水) 08:28:45.36
アプリで、throw例外を一括でcatchする記述は出来ますか?

390 :デフォルトの名無しさん:2013/09/11(水) 10:07:01.99
>>389
catch(...)
ここで聞くことじゃないだろ。

391 :デフォルトの名無しさん:2013/09/11(水) 10:19:35.29
>>389
main() に書いとけ

392 :デフォルトの名無しさん:2013/09/11(水) 13:13:28.26
>>389
QApplication::notifyを再定義して、その中でcatchする

393 :デフォルトの名無しさん:2013/09/11(水) 15:58:44.34
>>382
http://woboq.com/blog/how-qt-signals-slots-work.html
How Connecting Works.

394 :389:2013/09/11(水) 17:45:03.67
ここで質問して良かったですorz

395 :389:2013/09/11(水) 17:56:13.14
念のためですが、392のやり方でやります。

396 :デフォルトの名無しさん:2013/09/11(水) 23:23:40.03
質問の仕方が悪すぎる。

397 :デフォルトの名無しさん:2013/09/12(木) 01:00:07.57
>>376

【1】QString::utf16()を使う
const ushort * がかえってくるので、const wchar_t * にキャストして使う。

wchar_t const *p = (wchar_t const *)s.utf16();

【2】QString::toStdWString()を使う
一時オブジェクトのstd::wstringを作ってc_str()を呼ぶ。

std::wstring t = s.toStdWString();
wchar_t const *p = t.c_str();

【3】QString::toStdString()を使う
一時オブジェクトのstd::stringを作ってc_str()を呼ぶ。
エンコーディングの設定に不備があると、望まないコード変換が行われるかも。

std::string t = s.toStdString();
char const *p = t.c_str();

【4】QByteArrayを使う

QByteArray ba = s.toUtf8();
char *p = ba.data();

---

QStringの内部表現がUnicodeだから、QString::utf16()がいいと思う。
strlenの代わりにwcslenを使うとか、strcmpの代わりにwcscmpを使うとか、
wcs系のCライブラリが利用できます。

398 :デフォルトの名無しさん:2013/09/12(木) 07:50:28.72
なんかいろいろ書いてるが>>376のやりたいのはマルチバイト文字列のchar*が欲しいって
事で、wchar_t*なんか取れても嬉しくないのでは?
単純に,s.toLocal8Bit().data() じゃダメなのか?

399 :デフォルトの名無しさん:2013/09/12(木) 09:12:58.76
QApplicationの派生ってどうやってやるのでしょうか。

Qt Creatorがスケルトン吐き出した中には既にQApplicationが素で入ってますよね?
IDEメニューの「格上げ」みたいな感じでできるのでしょうか。

QApplicationは派生したいけど、間違ったやりかたでIDEとの連携が切れたら困るので。

400 :397:2013/09/12(木) 11:25:49.37
>>398
エンコーディングとオーバーヘッドを気にしないんなら、toLocal8Bit()でもいいだろうけど、
内部データがワイド文字列なのに、char *を得ようと思ったら、QByteArrayにせよstd::stringにせよ、
中間オブジェクトとコード変換が必要になるじゃん。
単純に、って言うけど、内部的には単純じゃないんだよ。
生データのポインタを取得してwchar_tのまま処理する方がよほど単純じゃん。

401 :376:2013/09/12(木) 12:33:25.33
>>397
>エンコーディングの設定に不備があると、望まないコード変換が行われるかも。

kwsk

402 :397:2013/09/12(木) 13:27:57.02
>>401
Qt4.8系の話な。Qt5はよく知らん。

真面目なアプリならLinguistで翻訳ファイルを作るところだけど、
手抜きして、日本語定数をソース上に書いた場合、

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QString s = "あいうえお";
QMessageBox::warning(0, "test", s);

return 0;
}

WindowsでMSVCを使ってシフトJISでコードを書いたとする。
そのまま実行すると文字化けしてしまう。
そうならないように、

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Shift_JIS"));
が必要になる。

(続)

403 :397:2013/09/12(木) 13:30:31.01
QString::toStdString()は、setCodecForCStringsの設定に依存するから、
std::string t = s.toStdString();
を実行すると、シフトJISに変換されたstd::stringが返る。

Windowsだけでしか使わないならそれでもいいけど、マルチプラットフォームには向かない。

#ifdef WIN32
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Shift_JIS"));
#else
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
#endif

とかやりだすと、プログラムがカオスになってくる。でも、MSVCを使う以上しかたない。

(続)

404 :デフォルトの名無しさん:2013/09/12(木) 13:31:51.94
>>400
そうじゃなくて、wchar_t*ではなくchar*が欲しい理由があるんじゃないのか?
要するに本末転倒なんじゃないかってこと。

いや、本人に聞いてみなきゃわからないよ、もちろん。
でも普通はさ、必要な文字コードの方が先に決まってると思うんだよ。
だから std::string.c_str() って書いてるっとことは,char* なんじゃないかと思うわけ。

405 :397:2013/09/12(木) 13:32:13.59
既に書いたように、ソースに日本語の文字列定数を書くのは良くない。Linguistを使おう。
とはいっても、ファイルからデータを読む場合で、それがシフトJISなんてことは良くある話。

QString::toStdWString()はいいけど、QString::toStdString()はトラブルの元なので、
マルチバイト文字を含まないことがわかっている場合を除いて、できるだけ使わない。
代わりに、QTextCodec::fromUnicode/toUnicode()を使った方がいい。

QStringに格納されている文字列を、wchar_tじゃなくてcharで扱いたいというのは、
特に理由が無い限り、設計を考え直した方がいい。

406 :デフォルトの名無しさん:2013/09/12(木) 13:36:51.77
Shift JISのテキストファイルに書き出す必要があるとか、いろいろあるじゃん。
そういう目的が先にあった上で聞いてんじゃないのかと思ったんよ。

407 :397:2013/09/12(木) 13:37:10.08
>>404
QStringがワイド文字でstd::stringがマルチバイト文字って言う時点で、
すでに噛み合ってないよね。

>>376のヒトが、何を目的としているか、

1. 生データのポインタが欲しい。
2.8ビット文字列の char * が欲しい。

どちらなのかはっきりしないとわからないね。

408 :デフォルトの名無しさん:2013/09/12(木) 13:38:11.04
>>376=401さん、そこんとこどうなのさ。違うんならそう言ってくんないと。

409 :デフォルトの名無しさん:2013/09/12(木) 14:02:49.49
>>402-403
筋が悪いな

(続) が (笑) に見えた

410 :デフォルトの名無しさん:2013/09/12(木) 14:15:00.70
>>409
目が悪いな

おまえ変なものの見過ぎだろ

411 :376=401:2013/09/13(金) 12:26:09.12
私のためにケンカはやめて(><)

>QStringがワイド文字でstd::stringがマルチバイト文字

QStringがワイドかどうかは、”?”です。

std::stringをベースに、そこにマルチバイトをUTF-8で使ってます。
そのとき、Qtに入出力するとき、
std::stringは何も気にせず、c_str()、してます。
QStringから、std::stringに戻すとき、c_str()、が無いからどうしようorz

412 :デフォルトの名無しさん:2013/09/13(金) 12:28:56.06
なぁ、おっちゃん無職なんだけど、Qtの名古屋勉強会に出席してもええかな?

413 :376=401:2013/09/13(金) 12:30:46.52
「QStringがワイドかどうかは、”?”です。 」と書きましたが。。。
「Qtって内部はUTF-8」って聞いていたのに、Windowsで使ってると何となくSJISっぽいのですが、何なのでしょう。

やりたいのは、データがUTF-8なので、QtがそのままUTF-8入出力してくれれば、おk、なのに。

414 :404:2013/09/13(金) 13:00:34.08
>>407さんが大人だからケンカしてないよ。QStringは内部的にはUTF-16だかUCS-2だったと思う。
ヘルプを見る限り,少なくとも16ビットのUNICODEと書いてある。

UTF-8なら,s.toUtf8().data() でおk。逆はfromUtf8()でconst char*から入力できる。

415 :デフォルトの名無しさん:2013/09/13(金) 13:01:56.28
>「Qtって内部はUTF-8」って聞いていた

いまだにガセネタ載せてるサイトあんのか

416 :デフォルトの名無しさん:2013/09/13(金) 13:03:47.27
>>413
>やりたいのは、データがUTF-8なので、QtがそのままUTF-8入出力してくれれば、おk、なのに。

本気でそう思ってるなら

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));

でおk

417 :376=401:2013/09/13(金) 14:00:52.26
>>415-
そ、そうなんですか!!!


>>416
有難うございましたorz

ハッキリと記述まで書いて頂けると助かりますたOTL

418 :デフォルトの名無しさん:2013/09/13(金) 15:04:58.53
http://woboq.com/blog/qstringliteral.html

419 :412:2013/09/13(金) 17:55:52.07
ええかな?

420 :デフォルトの名無しさん:2013/09/13(金) 19:57:39.87
自分で考えるなり主催者に聞くなりしろよそんなんだから無職なんだよ
良いよ。

421 :デフォルトの名無しさん:2013/09/13(金) 21:23:53.83
Qtの勉強会って何やるの? AQPのサンプルソースを追いかけるとか、世界のQtサイトを読んだほうが良くね?
まさか、英語読めない人がQtとかないだろうから・・・ 一番は、目的をもって何か作ることだとオモ。

422 :412:2013/09/13(金) 22:09:37.41
ありがと。ほなら、おっちゃん、参加してみるわ。

Qt鈴木に会える見たいやで。

423 :デフォルトの名無しさん:2013/09/14(土) 09:54:00.43
負け癖が付くから演技悪い

424 :デフォルトの名無しさん:2013/09/14(土) 22:19:28.50
定時に実行する方法ってありますか?
timerで12時間ごとに実行とかは出来るのですが
0時,12時とか決まった時刻に実行するようにしたいのですが

425 :424:2013/09/14(土) 22:28:16.18
ちなみに今はtimerで実行する関数内で時刻を取得して処理しています
ただ,この場合何度も関数を実行する必要があって気持ち悪いので別の方法を探してます

426 :デフォルトの名無しさん:2013/09/14(土) 22:36:47.08
次の0/12時までの秒数求めてtimer設定とか

427 :デフォルトの名無しさん:2013/09/15(日) 01:21:48.04
単にプログラムが起動した時刻を取得して、
0/12時までの秒数を計算してTimerをセットして、
以後、Timerで実行される度に次の0/12時までの秒数を計算してTimerをセットを繰り返せばいいんじゃないか?

428 :デフォルトの名無しさん:2013/09/15(日) 01:43:17.94
どの位の精度が必要なんかね?

429 :デフォルトの名無しさん:2013/09/15(日) 03:11:34.93
qtでコマンドライン実行から、クリップボードに値の読み書きを行いたいのですが、
コマンドラインベースでプロジェクトを作成すると
QApplication::clipboard()系の命令でエラーが出て困っています。
やり方わかる人教えていただけませんか?
(linux mint / qt5)

とりあえず、足掻いて下記の事は試しています。
@ダイアログベースでプロジェクト作成して、
main処理でメイン処理行って、ダイアログのshowを止める
→処理は正常に動作したが、プロセスが死なずに残る。

Aダイアログ生成後、即プログラムが終了するようにMainWindow側でclose();
→Close命令が無視され、画面が表示されたままになる。

B関連ありそうなヘッダ等を色々追加
→○×、、、(−△−;

C2ちゃんに泣きつく  ←今ここ

よろしくお願いします。

430 :デフォルトの名無しさん:2013/09/15(日) 03:44:24.88
よくわからんけどコマンドラインベースのアプリならQCoreApplication何じゃないのかな?

431 :デフォルトの名無しさん:2013/09/15(日) 04:02:23.85
D諦める ←正解

432 :デフォルトの名無しさん:2013/09/15(日) 04:02:56.57
linux(X11)の場合event loop回ってなかったらclipboardが正しく使えないからじゃね
ダイアログ云々はモーダルダイアログだったとか(ダイアログ閉じるまで他のウィンドウ操作不可)
つかエラーでて困ってるならエラー書こうぜ

433 :デフォルトの名無しさん:2013/09/15(日) 06:20:18.07
>>429
int main(int argc, char** argv) {
QApplication a(argc, argv);
a.processEvents();
qDebug() << QApplication::clipboard()->text();
}

動作するけど、あまりよろしくない気もする

434 :デフォルトの名無しさん:2013/09/15(日) 06:37:35.12
クロスプラットフォームは諦めて直接Xlib呼べよ

435 :デフォルトの名無しさん:2013/09/15(日) 08:50:26.10
なぜcronを使わないの?

436 :デフォルトの名無しさん:2013/09/15(日) 09:23:15.97
>>426
>>427
ありがとうございます!
その方法でやってみたいと思います

437 :429:2013/09/15(日) 22:24:45.93
>>430
無理でした。
>>431
これでも妥協した結果なのよ(−−;
>>432
>>linux(X11)の場合event loop回ってなかったらclipboardが正しく使えないからじゃね
なるほど。
>>エラー
incomplete type 'QApplication' used in nested name specifier
普通に、'QApplication'てなんだよ。こらぁ。ってエラーです。
>>433
それは試したけど、プロセスが残ります。
>>x434
そうですよね。。
>>435
何それ。

処理分けして、linux用の処理書く方向で、
xlibもしくは手抜きでxclip利用で対処してみます。
情報ありがとうございます。

438 :デフォルトの名無しさん:2013/09/15(日) 22:56:29.28
>>437
いや>>433は別にプロセス残らんがほんとに試したか?
exec()してたりしないか?
あとそのエラーメッセージ読めないのは勉強不足すぎるわ…

439 :429:2013/09/16(月) 00:25:57.02
>>438
もち、試したよ(−−;
疑い深いなあ。もお、。

ちゃんと、execとめて、return 0;にしたバージョンも検証してる。

linux mintの環境のせいかもしれんが、
プロセス残るんだからしゃないやん。

>>あとそのエラーメッセージ読めないのは勉強不足すぎるわ…
名前空間に居ない時のメッセージだと思ってたけど違いますか?
すみません。意味教えてください。
m(_ _)m

440 :デフォルトの名無しさん:2013/09/16(月) 02:37:09.26
馬鹿には無理

441 :デフォルトの名無しさん:2013/09/16(月) 03:03:26.72
>>440
それはいい言葉だとは思うけど
発言者が(一見の)バカかもしれないと思うと
説得力ないんだよな。
それやるなら相応のコテじゃないと納得できませんよ

442 :デフォルトの名無しさん:2013/09/16(月) 05:23:41.50
>>437
cronは>>424へのレスです
(何それ。とは吃驚ですが…)

それくらい自分で解決できないなら、馬鹿には無理って言われてもしょうがないと思う

まあレスからすると職業プログラマじゃ無さそうなので、2chに泣きつくのもありだと思うけどね

443 :429:2013/09/16(月) 05:58:14.39
>>442
すみません。
それ、自分への回答と勘違いして発言してます。
質問は、クリップボード処理なのにcron使えって回答来たのかわからなくて。
逆に自分の方が、
何とんちんかんな事何言ってんだこいつ、cronの機能を何かと勘違いしてないか?(−−; って
反射的に、書いちゃったんだよ。。

444 :デフォルトの名無しさん:2013/09/16(月) 06:25:12.06
>>443
動くかどうか知らないけどQClipboardを直接使ってみるとか
http://qt.gitorious.org/qt/qtbase/source/c40a48af997f57caa0ecfca0b247837ba5b2f89b:src/gui/kernel/qguiapplication.cpp#L2367

445 :デフォルトの名無しさん:2013/09/16(月) 06:42:40.94
>>439
疑り深くもなるよ、エラーメッセージもドキュメントも読む気がないのが伝わってるからね
最初の2単語ぐらい訳してみて、なんだよこらぁで納得できるならそれでいいんじゃないかな
そのエラーQt関係無いし、ここQtスレだから自分で勉強してきてよ
プロセスが残るのは環境かバージョンのせいじゃないかとも思うけどこっちじゃ再現しないからわからない
そっちのコードまるで信用できないしなあ

446 :デフォルトの名無しさん:2013/09/16(月) 13:07:34.82
>>439
>>433で問題なく動く。プロセスも残らない。
linux mintだからという理由でプロセスが残るのは絶対にありえない。
エラーでコンパイルが通っていないだけだろう。

447 :デフォルトの名無しさん:2013/09/16(月) 13:09:00.89
おっちゃんは、無職やぞ。>>442

448 :429:2013/09/16(月) 13:11:19.37
>>433
>>445
申し訳ありません。
ここに簡略化したコード載せようとして試したら、
問題無く動作しました。

(QT GUiアプリで新規作成)<433そのままです>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//アプリケーションのグローバルクリップボードのポインタを返す。
QClipboard *clipboard = QApplication::clipboard();
//テキストの取り出し(テスト)
QString str = QApplication::clipboard()->text();
//テキストをセット(テスト)
clipboard->setText(str);
return 0;
}

「先に余計なロジックコメントにして試すだろ。普通。」って話ですが、、、、。
あせっていた事、一度試した方法だったので不十分な検証で確認していました。

本当に、お騒がせしてすみません。

449 :デフォルトの名無しさん:2013/09/16(月) 13:31:22.68
馬鹿には無理

450 :デフォルトの名無しさん:2013/09/16(月) 13:54:55.63
自分のせいなのに他を疑って後で恥ずかしい思いをするのはソフト屋にはよくあることです

451 :デフォルトの名無しさん:2013/09/16(月) 17:00:23.33
日本語の文字列リテラルを直接書く手抜きが
vc2012+qt5では出来ないだと?!

ソース中の文字列リテラルを勝手にSJISに変換するクソ仕様もvc2012では別に変わっていないし

452 :デフォルトの名無しさん:2013/09/19(木) 14:21:41.26
UTF8したければ、
>QString Qutf8 = QString::fromLocal8Bit("あいう");
で、ソース中文字列おk、
ですよね?

さらに、それをSTLに入れたいときって、
>std::string sutf8 = Qutf8.toUtf8().data()
>std::string sutf8 = Qutf8.toUtf8().constData()
>std::string sutf8 = Qutf8.toAscii();
のどれが正しいのでしょうか?

453 :452:2013/09/19(木) 14:31:24.82
ちなみに、
>QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));
した環境です。

454 :デフォルトの名無しさん:2013/09/19(木) 15:59:10.93
QString::fromLocal8Bit は QTextCodec::setCodecForLocal で指定したcodecで変換する
QTextCodec::setCodecForCStrings で指定したcodecで変換するなら、QString::fromAscii
でこれは、QString qutf8 = "あいう"; と等価

455 :デフォルトの名無しさん:2013/09/19(木) 16:08:51.11
>>451
2010(とパッチをあてた2008)なら#pragma execution_character_set("utf-8")を入れておけば
UTF-8で保存してくれたんだけど、2012では使えなくなってしまった

456 :デフォルトの名無しさん:2013/09/19(木) 16:17:51.24
C++11のユニコード文字列リテラル使うとか
vc使える環境じゃないんで試したこと無いけど

457 :デフォルトの名無しさん:2013/09/19(木) 16:26:10.63
それが2012でもユニコード文字列リテラルに対応していないんだな

458 :デフォルトの名無しさん:2013/09/19(木) 16:39:20.13
>>457
それは失礼しました
C++なんて主流じゃないのかもしれないけど対応頑張ってほしいなあ

459 :デフォルトの名無しさん:2013/09/19(木) 17:36:47.56
なんでwstring使わないん

460 :デフォルトの名無しさん:2013/09/19(木) 17:52:40.19
Windows8はUTF-8やろ。なんでVS2012でユニコード文字列リテラルに対応してないんや?

おっちゃんにも意味がわからんわ。

461 :デフォルトの名無しさん:2013/09/19(木) 18:04:44.01
ええっ!?

462 :デフォルトの名無しさん:2013/09/19(木) 18:41:15.41
Qtってbluettoothサポートライブラリってあるの?
まだ、そっちはjavaの世界かな?

463 :デフォルトの名無しさん:2013/09/19(木) 20:18:39.10
QTableWidgetの左上カラムに文字を表示したいのですが、
どうすれば宜しいでしょうか?

464 :デフォルトの名無しさん:2013/09/19(木) 21:56:16.26
>>459
QString str = QString::fromStdWString(L"日本語"); とかなら確かに動くんだけど、
Windows以外ではリテラルが一文字4byteになってしまうしなぁ
それは我慢できるとして、QObject::tr 等には結局使えない
諦めてAsciiで書いて翻訳するのが正しいのだろうな

465 :デフォルトの名無しさん:2013/09/20(金) 10:36:40.34
 >>452 もヨロ

466 :デフォルトの名無しさん:2013/09/20(金) 11:46:43.38
>>465 ヨロシク

467 :デフォルトの名無しさん:2013/09/20(金) 12:28:23.44
>>465
std::string sutf8 = Qutf8.toStdString();

STLのstringに変換するということは、STLの関数を使いたいということだろうから素直に変換したほうがいいと思う
Qt4.xではQTextCodec::setCodecForCStringsで指定したcodecで、Qt5.xではutf-8で変換される
幸いstd::stringについては、Qtの動くプラットフォームでの違いは無いけど、std::wstringとか基本的に実装依存だから

468 :デフォルトの名無しさん:2013/09/20(金) NY:AN:NY.AN
>std::string sutf8 = Qutf8.toStdString();
だと落ちるって書いてあるサイトありましたが、どちらが正しいのでしょう?
 ↓
http://d.hatena.ne.jp/yus_iri/20120328/1332888387

他にも何だか面倒なことがあるというような内容のサイト。
 ↓
http://gl5-prog.hatenablog.com/entry/2013/07/10/223747

469 :デフォルトの名無しさん:2013/09/20(金) 13:41:53.30
>>464
1文字4バイトで何が困るのか分からんけど
gccなら -fshort-wchar ってオプションなかったっけ
あとtrはこういうマクロ作れば別に使える気がする
 #define WIDE_TR(x) tr(QString::fromStdWString(x).toUtf8())
まあライブラリやAPIの兼ね合いもあるし、別にワイド文字列を無理強いするつもりはないが

470 :デフォルトの名無しさん:2013/09/20(金) 14:30:44.57
>>468
QString::toStdString()というより、正確に言うとstd::stringやSTLの
テンプレートクラス全般がDLL境界を跨って受け渡すのに向かない代物なんだわ
DLL側で作ったstd::stringのインスタンスをアプリ側で破棄するシナリオを考えると
std::string内部のメモリの確保はDLL側、開放はアプリ側のアロケータで行われるので
両者のアロケータとヒープが同じ、つまり共有されてないといけない
その唯一の条件は、リリース/デバグ変種まで含め完全に同じC/C++ランタイムDLLを
アプリとDLL側が使っていること(つまりランタイムのスタティックリンク不可)
その条件から外れればクラッシュする
これはWindowsでDLLを利用して開発してるなら常識で、別にQtに限らない話

471 :デフォルトの名無しさん:2013/09/20(金) 14:36:04.07
結局、
>std::string sutf8 = Qutf8.toStdString();
と書けないとしたら、
どうすれば。。。

std::string利用は常識だけど、それに渡せないとしたら、説明は論理的だったとしても、
結果が非常識(><)

472 :デフォルトの名無しさん:2013/09/20(金) 15:00:46.23
>>471
std::string s(qs.toUtf8().constData());
とでもすればいい話
つまりQt側からはconst char *で受け取って、アプリ側でstd::stringを構築する

qs.toUtf8()で得られるテンポラリなQByteArrayのインスタンスは副作用完了点で
破棄されるので、↑の代わりに↓のようなことをしてはいけない
const char *s = qs.toUtf8().constData();
// sを使って何かする

473 :デフォルトの名無しさん:2013/09/20(金) 17:08:18.75
なるほど、良くわかりましたorz

>std::string sutf8 = Qutf8.toStdString();
がNGなのに、
>std::string s(qs.toUtf8().constData());
がOKな理由をイマイチ知りません。

.toUtf8()の戻り値が、QByteArrayで、メモリ管理の仕組みを仕様に組み込んでくれているあたりに理由があるのでしょうか?

>const char *s = qs.toUtf8().constData();
これはC言語からC++/STLになった時点でNGですよね。

474 :デフォルトの名無しさん:2013/09/20(金) 17:19:33.81
>>473
上の例ではstd::stringのデストラクタ、下の例ではQByteArrayのデストラクタが
いずれもアプリ側で実行されるの同じ
デストラクタから普通は直接ないし間接にメモリを開放するコードが呼ばれるが
std::stringの場合はテンプレートなので、デストラクタがアプリ側のコンパイル時に
展開され、デストラクタ実装は「アプリ側に」あることになる
このようなケースでも、デストラクタから呼ばれる肝心の解放用の関数が
DLL側から提供されているものなら大丈夫なんだが、
ただのdeleteやfree()の場合、アプリが利用しているC/C++ランタイムのものが
当然のように使われるので、DLL側のアロケータと不整合が生じる
(可能性がある)わけだ

最後の行は、たぶん意味をよく分かってないだろ
まあいいけど

475 :474:2013/09/20(金) 17:20:10.31
2行目
×いずれもアプリ側で実行されるの同じ
○いずれもアプリ側で実行されるのは同じ

476 :デフォルトの名無しさん:2013/09/20(金) 17:28:56.93
QString::toStdString()とQByteArrayだと結果が違うという報告がありますよね。

その説明に、”DLL”が入ってくると意味わかりません。

その説明を納得しちゃうと、QStringがDLLで、QByteArrayがDLLじゃない、という理解になりまつよ。

477 :デフォルトの名無しさん:2013/09/20(金) 17:38:05.58
>>476
理由はQByteArrayのデストラクタを見れば分かるだろ
デストラクタがinline化はされているが、実際にメモリの解放を行うのはQtのDLL内で
実装されているqFree()だから、std::stringのような確保と解放の不整合が起きない

というか俺Qt全然使ってないんだが、何でこんな説明しないといけないんだか……
後は勝手にしてくれ

478 :デフォルトの名無しさん:2013/09/20(金) 17:51:39.24
いや、QByteArrayとstd::stringの違いじゃなくて、

QString::toStdString()とQString::toUtf8.ConstData()(←実態はQStringじゃなくて、QByteArray)なんだけど。

ググったら、
>std::string sutf8 = Qutf8.toStdString();
がクラッシュするってのは、
英語サイトでも有名みたい。

知りたいのは、QStringからstd::stringに移す時の、
クラッシュする記述(←toStdString)と、クラッシュしない記述(QByteArray経由だとおk?)。
できれば、その理由。

479 :デフォルトの名無しさん:2013/09/20(金) 17:53:14.46
以下、説明に"DLL"ワード禁止。

480 :デフォルトの名無しさん:2013/09/20(金) 18:13:38.67
どこが分からないのか?
>>470>>472>>474>>477で説明されてるだろ

481 :デフォルトの名無しさん:2013/09/20(金) 18:31:53.81
>>480
どこが分からないのか?
>>478>>479で説明されてるだろ

482 :デフォルトの名無しさん:2013/09/20(金) 18:41:15.14
普通は>>470だけで理解する
ここまで説明されても理解できないんなら理解力に問題があるか
前提となる知識が根本的に不足してるんだろ
後は"dll boundary"あたりのキーワードでぐぐって自分で学べ
赤ちゃんじゃないんだから

483 :デフォルトの名無しさん:2013/09/20(金) 18:45:35.76
>>481

484 :デフォルトの名無しさん:2013/09/21(土) 00:07:16.72
>>469
為念、試してみたけど-fshort-wcharでUCS-4→UCS-2にはできるけど、fromStdStringが
想定していないようで上手くいかないね
trも本来の使い方ができないので、QStringで記述したほうがマシかな

485 :デフォルトの名無しさん:2013/09/21(土) 07:52:58.44
qs.toUtf8().constData()

こういう書き方大丈夫だっけ?
生成してすぐにQByteArrayのインスタンスが破棄されてしまうから
constDataで受け取ったポインタの中身は不定になる

486 :デフォルトの名無しさん:2013/09/21(土) 08:59:16.25
でも、QByteArrayってのは、
C言語のcharへの繋ぎのためのクラスって説明は、
渡すことをサポートする仕組みはあるっぽいですよね。

だから、「qs.toUtf8()」で、QString→QByteArray、と物が変わるのではないかと。

動作が変わらないなら、QStringのままだよね、普通。

487 :デフォルトの名無しさん:2013/09/21(土) 10:06:08.10
>>485
>>472にわざわざ「副作用完了点」に関する言及があるのが読めないのだろうか
C++では副作用完了点までの間に一時オブジェクトが破棄されることはない
(言語仕様として規定されている)

488 :デフォルトの名無しさん:2013/09/21(土) 10:33:11.39
このスレで下らない質問をする輩に言語仕様云々言うお前が阿呆
猿に字を書けって言ってるようなもの

489 :デフォルトの名無しさん:2013/09/21(土) 10:39:56.96
485は新参だよ。
レスで相手を見下げるのに必死になるんじゃなくて、
質問回答のコアの部分を明確にして会話をスムーズにしなよ、
出来るヤシなら。

490 :デフォルトの名無しさん:2013/09/21(土) 10:48:27.33
>std::string sutf8 = qs.toUtf8().constData();

これは副作用完了点までオブジェクトが破棄されないので、QByteArrayオブジェクトのconstData()で、おk。

>std::string sutf8 = Qutf8.toStdString();

こちらは、宣言を見ると、
>std::string toStdString() const

となっている。

STL同志がメモリ連携しようとするが、
異種のSTLだったとしたら、上手くいくわけはない、ということですかね。

491 :デフォルトの名無しさん:2013/09/21(土) 10:55:30.43
>>489
別に「見下げるのに必死」なつもりはないが
> qs.toUtf8()で得られるテンポラリなQByteArrayのインスタンスは副作用完了点で
> 破棄されるので、↑の代わりに↓のようなことをしてはいけない
> const char *s = qs.toUtf8().constData();

と駄目な比較例とその理由まで書いてあるのに
>>485のような質問が出てくるのは理解が苦しむな
C++以前に日本語が読めないんじゃないのか?

492 :デフォルトの名無しさん:2013/09/21(土) 13:14:04.85
>>490
日本語でおk

493 :デフォルトの名無しさん:2013/09/21(土) 14:24:57.77
>>473
std::string sutf8 = qs.toUtf8().constData();
で良いと思うの

494 :デフォルトの名無しさん:2013/09/21(土) 18:08:58.55
STL使わなきゃいいじゃんと思ってしまうな。
過去の資産をどうしても使わざるを得ないとか以外でQtでSTL使うメリットあるかね?

495 :デフォルトの名無しさん:2013/09/21(土) 23:03:33.08
>>494
速いからじゃね?

496 :デフォルトの名無しさん:2013/09/22(日) 22:08:40.15
Qt Creatorのバグが治ってる(・∀・)

497 :デフォルトの名無しさん:2013/09/23(月) 09:01:39.50
Qt Creatorのコード検査の処理がどんどん重くなってる
それに伴いワード補完も遅すぎて役に立たない
昔のほうがワード補完早くて使いやすかった

498 :デフォルトの名無しさん:2013/09/23(月) 14:29:38.06
それでもC++Builderとかに比べれば全然早いと思う

499 :デフォルトの名無しさん:2013/09/24(火) 09:24:06.02
世の中全てがQtになるわけじゃないなら、コア部分はQtにできないんじゃないかなぁ。

Wikiとか読むと、Clangには、ググルやアポーから資本が流れてるっぽい。
Qtには、資本が流れてる感は無い。
アプリがWin32apiベースから、ウェブサーバーベースや、スマフォアプリベースに流れてるけど、
その際にQtに流れる感が、(ry

500 :デフォルトの名無しさん:2013/09/25(水) 00:19:15.26
QtとClangが何故比較対象になるのかよくわからん。
ClangでbuildしたQt使えばいいんじゃないか?使わなくてもいいけど。
ウェブサーバーベースとやらのバックエンドをQtで書いてもいいし
スマフォアプリベースとやらをQtで書いてもいい。もちろん書かなくてもいい。

501 :デフォルトの名無しさん:2013/09/25(水) 02:00:04.09
Qtに触れた事がなく学習のため書籍購入を検討しています。
近所の本屋に置いてなかった為、ネット上の目次のみでは判断しかねました。
識者の方々にご助言いただければ幸いです。

Qtの学習を始めるにあたり『実践 Qt 4プログラミング』だけで大丈夫でしょうか?
それとも『入門 Qt 4プログラミング』から始めたほうが良いのでしょうか?
(一応、GUIプログラミングはWin32とAWTの経験があります)

502 :デフォルトの名無しさん:2013/09/25(水) 03:11:51.11
俺は実践の飛ばし読みから始めたけど、知識があまりにも断片的になるんだよね・・・
そのあと入門読んで体系的に理解できてきた感じ
飽きっぽい人は最初に実践でもいいと思うが、俺は入門がおすすめ

503 :デフォルトの名無しさん:2013/09/25(水) 04:22:02.87
>>502
なるほど、入門から買うことにしました。
ありがとうございました。

504 :デフォルトの名無しさん:2013/09/25(水) 06:35:25.62
GUIプログラムの経験があるなら本なんか買わずにオンラインヘルプとネットの情報で十分だろ
本の記述は古いし、未経験者向け
恐らく買ってもさらっと流し読みしてブックオフ行き

505 :デフォルトの名無しさん:2013/09/25(水) 08:43:37.22
Qtの本って資源の無駄だろ
Webに全部資料あるのに

506 :デフォルトの名無しさん:2013/09/25(水) 10:33:25.62
ただし英語だけどな

507 :デフォルトの名無しさん:2013/09/25(水) 13:01:11.90
日本語のpdfも見たことある
どこだったかは忘れた

508 :デフォルトの名無しさん:2013/09/25(水) 14:52:08.96
>>505
お前のけつを拭く紙の方が資源の無駄だ

509 :デフォルトの名無しさん:2013/09/25(水) 18:23:38.64
英語って言っても技術文書なんて中学生レベルの文法知ってれば簡単に読めるだろ
単語だって技術用語だからほとんどカタカナ日本語になってるし
小学生に読めって言うのは酷だけど

510 :デフォルトの名無しさん:2013/09/25(水) 20:53:19.76
ソースコードじゃないアルファベットが並んでんの無理

511 :デフォルトの名無しさん:2013/09/25(水) 20:57:25.53
日本語で思考する日本人が英語の文書を解析するためには余計なレイヤが必要だし
処理効率は落ちる
ネイティブな言語で書かれた文書の有用性は否定されるべきでない
ネイティブの効率を求めないならJavaでも使ってろってことだ

512 :デフォルトの名無しさん:2013/09/25(水) 20:59:49.98
???

513 :デフォルトの名無しさん:2013/09/25(水) 21:48:55.33
クソワロタ
ぴゅうたでも使ってろw

ジッコウ
トマレ
オワリ

514 :デフォルトの名無しさん:2013/09/25(水) 22:04:56.38
入門薦めた俺以外に誰もまともなアドバイスしてねーじゃねえか
英語がどうこう言うならせめて分かりやすいブログやYoutubeのリンクくらい書けよ

515 :デフォルトの名無しさん:2013/09/25(水) 22:24:46.32
入門にいいのない?→この本どうよ?→本は全部糞タダで公開されてるのPDF読めただし英語
→普通英語くらい誰でも当たり前に読めるだろ(キリッ
ってのは、もう5回くらいはこのスレで繰り返されてるテンプレだから

516 :デフォルトの名無しさん:2013/09/25(水) 22:46:54.97
まあ、趣味でプログラムやってる農家のおっちゃんとかなら英語読めなくても困らないだろうけど、
仕事でやってると英語読めないと話にならないのよ
Specificationが全部英語とか普通にあるし

517 :デフォルトの名無しさん:2013/09/26(木) 00:07:11.59
公式サイトはMSDN並の充実だしStackOverflowにはたくさんの一問一答があるけど
そういうリファレンスやBBSからつまみ食いしているだけだと、実践読むのと同じで知識が断片的になる
公式が充実してるせいでRedditは無人だしYoutubeは技術デモかQt Creatorの触りくらいしかない
だから入門を読め。その場しのぎじゃない体系を知るために読め。つかなんでもいいからたまには本を読め。はい論破

518 :デフォルトの名無しさん:2013/09/26(木) 01:02:18.69
入門買ってわからない時に見る感じでおk

519 :デフォルトの名無しさん:2013/09/26(木) 01:20:05.02
Qtの入門(本)は、Qtのチュートリアルと内容大差なかった気がする
古いバージョンなら、確か訳されたチュートリアルがあったと思うから、まずはそれを読むといいよ

520 :デフォルトの名無しさん:2013/09/26(木) 05:44:11.44
>知識が断片的になる

それで満足な自称プログラマのいかに多いことか

521 :デフォルトの名無しさん:2013/09/26(木) 06:06:35.02
ほんの一部をさらっただけの入門読んだだけで体系とか笑えるな
お前本当に読んだのか?

522 :デフォルトの名無しさん:2013/09/26(木) 06:08:39.43
>>520
特に stack overflow 見てるとそう思うわ

523 :デフォルトの名無しさん:2013/09/26(木) 07:20:16.32
じゃあ、せめてあそこレベルには開発に役立つレスをしてください

524 :デフォルトの名無しさん:2013/09/26(木) 08:47:55.67
体系見るには、ライブラリのソース見るしか無いとオモ。

何ていうか、驚いたのは、デリゲートのカタマリ。
というか、処理は1個のデリゲートがやってる感じ。

これによるメリットって何なん?
別に自分でやってもデリゲートでやっても、、、差異は、みたいな。

525 :デフォルトの名無しさん:2013/09/26(木) 12:33:38.18
おい、だまされるよな!入門Qtは超良書だぞ!Qt関連の本は全部良書。Quickのだけ知らん。

526 :デフォルトの名無しさん:2013/09/26(木) 14:52:04.58
qtsingleapplication

使うのって、ライブラリのリビルドから、やらなければならないのでしょうか?

527 :デフォルトの名無しさん:2013/09/26(木) 16:34:19.25
オフィシャルじゃなく追加の非公式Qt4用ライブラリらしいから知ってる人少ないんじゃないかな
なんで必要なのかも書けるなら別視点のアドバイスあるかも知れないけど

528 :デフォルトの名無しさん:2013/09/26(木) 16:39:21.47
Exeを2つ起動しなくしたいだけです。

QtSingleApplicationのソースを組み込むだけで、それが出来るなら、そうしたいです。

529 :デフォルトの名無しさん:2013/09/26(木) 17:25:09.66
>>528
https://qt.gitorious.org/qt-solutions/qt-solutions/source/80592b0e7145fb876ea0e84a6e3dadfd5f7481b6:qtsingleapplication
examplesも入っているよ。

530 :デフォルトの名無しさん:2013/09/27(金) 09:11:30.44
examplesも非常に助かりますが、今あるプロジェクトへの組み込み方も知りたいです(?_?)

531 :デフォルトの名無しさん:2013/09/27(金) 17:27:11.58
>>530
examplesを見てまねすればいいじゃないですか。そう思ってexamplesもあると言ったのに。

532 :デフォルトの名無しさん:2013/09/27(金) 18:44:42.74
訳:コピペできるソースをくれ

533 :デフォルトの名無しさん:2013/09/27(金) 19:33:02.20
さすがに甘えすぎだろこりゃ。

534 :デフォルトの名無しさん:2013/09/27(金) 20:54:39.60
exampleもコピペできるだろうに

535 :デフォルトの名無しさん:2013/09/27(金) 21:31:56.49
改変一切なしにまんまコピペすることで動くソースを下さい

536 :デフォルトの名無しさん:2013/09/27(金) 21:43:55.14
zipでkr

537 :デフォルトの名無しさん:2013/09/27(金) 21:49:25.09
Qt以前にC++を学習したほうが良いレベル

538 :デフォルトの名無しさん:2013/09/27(金) 22:29:20.02
むしろバイナリでくれ

539 :デフォルトの名無しさん:2013/09/28(土) 19:21:09.07
レベルが知れるな。

540 :デフォルトの名無しさん:2013/09/30(月) 17:46:23.60
Windowsで、QLineEditのIMEをディセイブルにしようと思ったら、
>ui->lineEdit->setInputMethodHints(Qt::ImhDialableCharactersOnly);
で出来ました。

QTableWidgetのIMEは、同じ方法でディセイブルに出来ません。
おそらく、内部でeditorを生成しているところで、制御しなければならないのですよね?
しかし、生成が、QTableWidgetとデリゲートクラスが、色々やりとりやっていて、素直に処理が見えません。
どこをどう変えれば良いのでしょう。
派生クラスになっても良いので、何とかしたいです。

541 :デフォルトの名無しさん:2013/09/30(月) 19:35:28.87
QStringList::iterator i = qFind(list.begin(), list.end(), "Karl");

cout << *i; cout << endl;

↑エラーになるんだけど、なんで(;ω;)

ググッてもcout << *it << '\n'ってかいてある

542 :デフォルトの名無しさん:2013/09/30(月) 19:41:17.90
エラーを貼れ

543 :デフォルトの名無しさん:2013/09/30(月) 20:28:53.02
qDebug(*i);

544 :デフォルトの名無しさん:2013/09/30(月) 20:30:33.19
cout << (*i).toUtf8().constData() << endl;

545 :541:2013/09/30(月) 20:33:21.68
みなさん、どうもありがとうございました。>>544さんのやり方でできました(;ω;)

感謝感謝です(;ω;)

546 :デフォルトの名無しさん:2013/09/30(月) 20:53:35.92
馬鹿には無理

547 :デフォルトの名無しさん:2013/09/30(月) 21:50:14.79
わざわざQtでSTL使ってるのはWindows方面の方々なんだよな
知識レベルも知れたもの

548 :デフォルトの名無しさん:2013/09/30(月) 22:20:46.83
STLじゃなくてiostreamだろ

549 :デフォルトの名無しさん:2013/09/30(月) 22:28:33.73
コンテナとか全部Qtのやつ使うのか?って思ったらそういうことか

550 :デフォルトの名無しさん:2013/09/30(月) 23:14:40.62
Qt5ってそろそろ実践投入できそう?
Qt Creatorはまだ4使ってるみたいだけど

551 :デフォルトの名無しさん:2013/09/30(月) 23:25:00.59
Qt5.2 Alpha きたな

552 :デフォルトの名無しさん:2013/10/01(火) 01:09:06.93
普通に5使ってるけど

ただやっぱり日本語がめんどくさい

553 :デフォルトの名無しさん:2013/10/01(火) 01:41:16.77
どうゆこと?日本語むつかしね?

554 :デフォルトの名無しさん:2013/10/01(火) 06:43:32.46
前ちょっと Qt 5.1 使ったら、Input Method の仕様がが変わってて面食らった
しかも、動作がなんか変だったので、4.8 に戻した

555 :デフォルトの名無しさん:2013/10/01(火) 11:51:46.79
内藤さんがかわいい(*>ω<*)

556 :デフォルトの名無しさん:2013/10/01(火) 13:35:52.25
QSliderでのつまみのサイズの調整ってどうやればいんでしょか?

557 :541:2013/10/01(火) 13:44:55.89
Qt3.0のころのページ
http://www.vision.ee.ethz.ch/computing/sepp-irix/qt-3.0-mo/qstringlist.html
とかみてると、

for ( QStringList::Iterator it = fonts.begin(); it != fonts.end(); ++it ) { cout << *it << ":"; } cout << endl;

↑って書いてあるのに、Qt4,7とかになると難しくなってしまったのですね。
手軽にできるのが、Qtのすばらしいところだと思っていたのに、残念です。

Java並に面倒くさい気を受けますね。今回の問題に限りましては・・

558 :541:2013/10/01(火) 13:48:25.59
な〜んか、Nokiaに改悪された気がする・・

やっぱTrollTechのころが、一番よかったんでしょうか・・

559 :デフォルトの名無しさん:2013/10/01(火) 16:35:12.44
>>554
Qt5のInput Method使い方わからない
変えるのはいいけどドキュメントくらい用意して欲しいわ

560 :デフォルトの名無しさん:2013/10/01(火) 16:59:53.37
>>557
QStringを自動キャストしても
大抵文字化けして読めないから辞めたんだろうな
Qt3の時代ならアスキー文字だけで困る人少なかったんだろうが

自動キャストしたいならoperator使えばいい、それがC++の自由度だろう

561 :デフォルトの名無しさん:2013/10/01(火) 17:05:12.46
>>540
デリゲートを派生してcreateEditor()を再実装。

562 :デフォルトの名無しさん:2013/10/01(火) 17:06:37.11
>>550
次に出るQt5.2で判断しようと思っている。

563 :デフォルトの名無しさん:2013/10/01(火) 17:29:46.26
>>559
ドキュメントは他にも不十分なのが目立って多くなっている。
Nokiaに引っ掻き回されてドキュメントに避けるパワーがなくなっているんじゃないかな。
ソースコードも前より汚くて拙いコードが目立つ。

564 :デフォルトの名無しさん:2013/10/01(火) 18:23:20.04
>>557,558
Qt3とQt4以降のQStringは別物
Qt3のQStringはバイト列だったけど、Qt4のQStringはencodingやendianを意識しないユニコード列
この変更は2005年に行なわれて、2008年のNokiaによる買収とは無関係

565 :557:2013/10/01(火) 21:30:26.60
>>560
Qt3は、アスキーが主体のころだったんですね。ユニコード主体になると色々変わってくるんですね。
ああ、Qt理想郷が欲しい・・

>>564
Qt3とQt4のQStringが別物なんですね。すげえっす。同じクラスが全く別物になっちまうとは。。
Nokia買収とは関係ないんですね。Qtを最近やってきて、VB6なみにスゲエわかりやすくて
感動してたんですが。。ちょっと残念な気がします。他はわかりやすいんで、全然おkなんですが。

今回は勉強になりました。皆さん、どうもありがとう。

566 :デフォルトの名無しさん:2013/10/01(火) 22:56:25.25
> Qt3は、アスキーが主体のころだったんですね。
そんなわけないだろASCIIじゃ日本語使えないじゃないか
Qt3リリースは2001年だが、Windows NTは3.1(1993年)から
Javaは1995年からずっとUnicodeだぞ
当時はまだUCS2のある意味平和な時代だったがな

567 :デフォルトの名無しさん:2013/10/02(水) 03:12:39.66
ん、C++にグラフィック標準化の動きが・・・
http://d.hatena.ne.jp/faith_and_brave/20131001/1380613377

数年程度じゃ成果は出ないだろうけど、ちょっと期待しちゃうな
とりあえずメンバー集め中みたい。Qt Coreに関わってるThiago Macieiraも参加してた

568 :デフォルトの名無しさん:2013/10/02(水) 08:14:25.03
toStdStringの件は結局Qtのバグなの?

569 :デフォルトの名無しさん:2013/10/02(水) 08:21:39.70
>>565
>ああ、Qt理想郷が欲しい・・

自分でOS創れ

570 :デフォルトの名無しさん:2013/10/02(水) 08:23:47.78
>>568
君がCodecsの設定を間違ってるだけじゃない?

571 :デフォルトの名無しさん:2013/10/02(水) 11:15:42.76
しょうがない、俺がQOSクラスでも作ってやるよ。

572 :デフォルトの名無しさん:2013/10/02(水) 14:03:22.80
540もヨロ!

573 :デフォルトの名無しさん:2013/10/02(水) 15:37:10.26
>>571
お前が作ったものはQSOだ

574 :デフォルトの名無しさん:2013/10/02(水) 15:40:40.62
>>540
setCellWidget()
http://www.off-soft.net/ja/develop/qt/qtb2.html

575 :デフォルトの名無しさん:2013/10/02(水) 17:12:42.71
 ↑
エディタを差し替えるっていうそのやり方も知りたかった内容でしたorz


ところで、QTableWidgetのエディタを生成するタイミングでそのオブジェクトを捕まえて、
属性変えたりできないかなぁ、とも思っています。

エディタを外から生成・破棄するのも、なんだか管理が面倒だな、と思う局面もありまして。

576 :デフォルトの名無しさん:2013/10/02(水) 17:53:41.66
馬鹿には無理

577 :540:2013/10/02(水) 18:08:01.44
>void QAbstractItemView::edit(const QModelIndex &index)
の中の、
>if (!edit(index, AllEditTriggers, 0))
のを追いかけて、実態はQLineEditっぽいことは分かったのですが、

editってvirtualじゃないし。。。
デリゲートクラスとか派生できるんだろうか。
派生したデリゲートクラスに差し替えることはできるっぽいけど、手順多いですよね。

578 :540:2013/10/02(水) 18:21:07.21
あ、
>bool QAbstractItemView::edit(const QModelIndex &index, EditTrigger trigger, QEvent *event)
をオーバーライドすれば良いんだ?

何だか、このメソッド、冗長じゃない?_?
どこ通るのか、場合によって違ってそうで、、、
読めない。

579 :540:2013/10/02(水) 18:32:12.83
連続投稿すみません:

>d->openEditor(index, d->shouldForwardEvent(trigger, event) ? event : 0);

この「d->」ってのが、QAbstractItemViewPrivateみたいなんですが、
これってデリゲート・オブジェクトって位置付けですか?
それともPrivateのカタマリで拡張できませんよって意味ですか?

580 :540:2013/10/02(水) 18:45:53.60
と思ったら、
>QWidget *QAbstractItemViewPrivate::editor(const QModelIndex &index,
の中で、
>w = delegate->createEditor(viewport, options, index);
ってやってる。

Privateクラスがdelegateオブジェクト(QAbstractItemDelegate)をhasしてる?

QAbstractItemDelegateのQ_SIGNALには、closeEditorはあるけど、
createEditorもopenEditorも無いってことは、
どっかのメソッドをオーバーライドするしかない?

581 :デフォルトの名無しさん:2013/10/02(水) 18:47:03.10
もう少しまとめてから書き込んだ方がいいんじゃね

582 :デフォルトの名無しさん:2013/10/02(水) 19:15:49.73
>>577
デリゲートのcreateEditって言ったじゃないの。

583 :デフォルトの名無しさん:2013/10/02(水) 19:18:14.15
>>577
>>582はタイプミス。createEditor。

584 :デフォルトの名無しさん:2013/10/02(水) 21:05:32.67
>>565
QStringの変更は国際化には避けて通れない選択だった
さもなくばVC++のように未だにローカライズに足を引っぱられて
国際化できないでグダグダになっていたと思う
# MS的にはC#を使え!ということなんだろうけど

585 :デフォルトの名無しさん:2013/10/03(木) 19:42:58.70
>>569
>ああ、Qt理想郷が欲しい・・
Nokiaさえいなければね。Trolltechの経営者も碌でなしだったということだ。
Nokiaは、Qtが他の皆に役に立つからと言ったくせに、その実態はNokiaのためだけだった。
自分の役に立たなくなったら、さっさと切り捨てるのはどういうことか。
諸悪の根源。有力開発者の離散などNokiaがQt
をダメにした。

586 :デフォルトの名無しさん:2013/10/03(木) 19:44:18.31
へー

587 :デフォルトの名無しさん:2013/10/04(金) 06:28:19.76
>>585
で、お前は Qt のために具体的に何かしたのか?

588 :デフォルトの名無しさん:2013/10/04(金) 09:07:48.81
お茶とお琴を少々

589 :デフォルトの名無しさん:2013/10/04(金) 21:29:48.06
NOKIAによるTrolltechの買収は、NOKIAにとっては非常に残念な結果になってしまったが
Qtにとっては非常に幸運なマリアージュであったと思う
Qtopiaでしか採算を得られていなかったQtのパトロンとして機能した
TrolltechではLGPLにはできなかっただろう

590 :デフォルトの名無しさん:2013/10/05(土) 21:29:26.01
>>589
LGPL乞食か。タダで使えればよいというだけでQtの発展のことなど考えていない奴らだ。
Nokiaが失敗したのはQtにとってまだよかった。
そのままなら単に利用されるだけでiOSとAndroidはサポートされない。Nokiaの邪魔になるだけだからだ。

591 :デフォルトの名無しさん:2013/10/05(土) 23:02:06.17
その話は自分のブログでやってくれないかな
江添氏ほどではなくとも才能はあると思うよ

592 :デフォルトの名無しさん:2013/10/06(日) 09:13:25.85
C#でQt使いたいなと思ってググったら過去スレに
>C#のQtバインディング使いたいよお
>Qyoto, Qt#, QtFor.NET
>全部死んでる・・
とあったんですがQyoto他 何か問題抱えているんでしょうか?

593 :デフォルトの名無しさん:2013/10/06(日) 09:17:56.66
C#だけで完結するから
Qtのメリットないんじゃね

594 :デフォルトの名無しさん:2013/10/06(日) 09:18:40.85
Qt 使おうというのに何が嬉しくて非ネイティブにするのか。

595 :デフォルトの名無しさん:2013/10/06(日) 09:23:53.44
C++でやれば済むことを、なぜわざわざC#などという面倒くさい言語を使いたいのか。

596 :デフォルトの名無しさん:2013/10/06(日) 09:28:21.26
Qtの数あるバインディング全否定はこのスレのテンプレだな

597 :デフォルトの名無しさん:2013/10/06(日) 09:31:03.72
C#にはWPFがあるじゃないか

598 :デフォルトの名無しさん:2013/10/06(日) 20:01:33.80
>>591
ブログでやっても粘着がわざわざブログまで出向いて
コメント荒らしするだろw

江添のブログ見てもそうだもんな
嫌なら見なきゃいいのにわざわざあの長文読んで
コメントで文句垂れてるのが信じられんわw

江添のブログのアンチってアンチを装った信者だと思うわ
アンチじゃない俺でさえあのブログ読むの面倒でキツのに
嫌いなのに読まずにいられないなんてあり得ないw

599 :デフォルトの名無しさん:2013/10/06(日) 21:02:36.87
>>590
iOSとAndroidへのbindingはNOKIA時代の成果だと思うのだが

600 :デフォルトの名無しさん:2013/10/06(日) 21:28:34.03
binding?

601 :デフォルトの名無しさん:2013/10/06(日) 21:36:32.03
droidへの対応はNecessitasを取り込んでからだろ。
Nokiaと関係ねー

602 :デフォルトの名無しさん:2013/10/06(日) 21:46:30.76
necessitasはNOKIA時代に進めていたlighthouseの成果だろ
Digiaへの売却前に既にQt5の形はできていたと思うが

603 :デフォルトの名無しさん:2013/10/07(月) 10:32:04.25
Androidでは、結構使われているのでしょうか?_?

iOSなんかはやっぱり、アポーの開発環境XCodeで画面作るのが基本なんかなぁ。

604 :デフォルトの名無しさん:2013/10/07(月) 13:53:12.70
俺、何気に10年位前にDigiaのデジカメ買ったよ(´・ω・`)

605 :デフォルトの名無しさん:2013/10/07(月) 16:33:03.75
実例は知りたいなぁ

606 :デフォルトの名無しさん:2013/10/07(月) 20:02:41.24
>>599
>iOSとAndroidへのbindingはNOKIA時代の成果だと思うのだが
これらのプラットフォームに対してNokiaの成果など何もない。
Nokiaは積極的に対応しなかった。Nokiaの携帯を売るためにね。

607 :デフォルトの名無しさん:2013/10/07(月) 20:05:54.66
>>602
全く違う。NokiaはAndroidにはまったく対応しようとしなかった。
NokiaはNokiaのためにしかQtを利用しようとしなかった。
LGPLになってよかったという奴らはタダで使えるからだけで喜んでいるだけでQtを潰しているのを分かっていない。

608 :デフォルトの名無しさん:2013/10/07(月) 21:43:34.80
アスペはちゃんと製品ライセンス買ってるの?

609 :デフォルトの名無しさん:2013/10/07(月) 22:47:39.07
ノキアに親でも殺されたのか?
このバカは

610 :デフォルトの名無しさん:2013/10/08(火) 08:59:05.18
QString::toInt()
って、末尾に文字が混ざってるだけで値ゼロにしがちですよね。
どうやったら回避できるというか、atoiライクに先頭数値を活かしてくれる方法はありますでしょうか?

611 :デフォルトの名無しさん:2013/10/08(火) 11:03:07.91
>>610
それくらい自分で関数作ったら?
5分もかからないだろ

612 :デフォルトの名無しさん:2013/10/08(火) 21:12:33.07
>>610
じゃあatoi使えよカス

613 :デフォルトの名無しさん:2013/10/08(火) 21:58:25.54
>>608
当たり前だ買い続けている。

>>609
NokiaがQtを殺したことすら分からないのか。

タダで使えるようになったからと礼参するLGPL乞食はバカの骨頂だ。

614 :デフォルトの名無しさん:2013/10/08(火) 22:04:33.52
コンシューマライセンスの値段すらまともに知らなそうだな

615 :デフォルトの名無しさん:2013/10/09(水) 01:11:35.34
Qtで作成されたアプリって実行遅くね?
やたら、もっさりしてるw

MFCと比べたらマジで死ぬほど遅いんですけど・・・

616 :デフォルトの名無しさん:2013/10/09(水) 05:48:03.14
MFCって旧世代の遺産ってイメージがあるけど
最近は進化してんのかな

617 :デフォルトの名無しさん:2013/10/09(水) 06:57:54.04
申し訳程度にリボンUIがプレゼントされたけど
基本的にMSもネイティブ開発は捨てろってスタンスだから・・・

618 :デフォルトの名無しさん:2013/10/09(水) 07:10:58.84
>>615
さくさくエディタはQtで開発されているが、世界最速と言ってるぞ

619 :デフォルトの名無しさん:2013/10/09(水) 08:25:57.64
QStringってc_str()が無いから、atoiしにくいよね?

620 :デフォルトの名無しさん:2013/10/09(水) 09:04:58.76
>>618
最速って言ってるのは置換の事だよ

621 :デフォルトの名無しさん:2013/10/09(水) 09:27:24.67
そうだけど、他の動作も別にもっさりはしてないぞ。
ファイル開くのもかなり早いし、
垂直スクロールバーによるスクロールも遅延は全然無い

>>615 は、Qt アプリのどんな動作がもっさりしてるって言ってるんだ?

622 :デフォルトの名無しさん:2013/10/09(水) 09:32:35.21
起動じゃね。Swingほどではないが、MFCに比べると体感する程度には遅いよ

623 :デフォルトの名無しさん:2013/10/09(水) 09:52:25.08
さくさくエディタの起動は1秒程度だし、特に遅い気はしないぞ。
具体的に起動が遅いQtアプリって何かあるの?

624 :デフォルトの名無しさん:2013/10/09(水) 10:19:43.11
ネットワークドライブを含んだ
ファイル選択ダイアログとか出すと
めっちゃ遅くなるよ

625 :デフォルトの名無しさん:2013/10/09(水) 14:14:31.23
Linuxの場合、QFileDialogはQtのオブジェクトで作ってるが
Windowsの場合は、nativeのdialog(MFCのCFileDialog)を使ってるはずなんだが
何が遅くしてるのかなぁ

626 :デフォルトの名無しさん:2013/10/09(水) 18:33:31.21
アプリ書いた奴が糞なんじゃね
それをQtのせいにしてるんだろ

627 :デフォルトの名無しさん:2013/10/09(水) 18:52:49.88
Firefoxの操作がChromeに比べると
もっさりしてるなって感じるようなもんで
比較して分かるもんなんだろう
実際もっさりしている
比べなきゃいいんだが

628 :デフォルトの名無しさん:2013/10/09(水) 19:19:32.43
qtcore、gui、glだけリンクしたアプリでも
古くてガタがきてるPCだと起動がくっそ重くて1分くらいかかるわ
ただまあ起動したあとの操作感は別に変わらん
操作感変わるとしたら、使うウィジェットによるかも知れんが俺も作り方が悪い方を疑うかな

629 :デフォルトの名無しさん:2013/10/10(木) 07:21:30.00
>>628
そんなマシンだと.netは使い物にならないんではないかと...

630 :デフォルトの名無しさん:2013/10/10(木) 13:45:08.55
俺の作ったソフトじゃないけど、なんかパーティション操作のフリーソフトがQt5製だったけど
すごい軽かったよ。秀丸エディタ並に軽かった。

俺のPCはCeleronD 2.93GHz メモリDDR1 1GB オンボードグラフィックス

631 :デフォルトの名無しさん:2013/10/11(金) 21:48:08.75
PyQt5.1 が出てるね。
こうサクサクっと見栄えがするGUIが作れるのは嬉しいね。

632 :デフォルトの名無しさん:2013/10/11(金) 22:09:10.59
PyQtじゃないほうは今どうなったんだろう

633 :デフォルトの名無しさん:2013/10/11(金) 23:54:05.48
>>631
見栄えを気にするならMFCだろ
かなりカッコいいUI作れんぜ

634 :デフォルトの名無しさん:2013/10/11(金) 23:57:08.46
( ´_ゝ`)

635 :デフォルトの名無しさん:2013/10/12(土) 03:57:14.02
>632
http://qt-project.org/wiki/PySide

636 :デフォルトの名無しさん:2013/10/12(土) 05:06:05.18
>>632
PySideの方なら、進歩は遅いけどそこそこやってる感じ

ただ、まだQt5に対応してないんだよなぁ

637 :デフォルトの名無しさん:2013/10/13(日) 01:47:29.75
PySideについてきたQt Designer4.8.5を使っているのですが,
生成したpythonコードのSIGNALが旧式のままでした
新スタイルのものを生成することはできますか?

button = QtGui.QPushButton("Call someFunc")
QtCore.QObject.connect(button, QtCore.SIGNAL('clicked()'), someFunc)
ではなく
button = QtGui.QPushButton("Call someFunc")
button.clicked.connect(someFunc)
を生成して欲しいのです

638 :デフォルトの名無しさん:2013/10/17(木) 18:58:37.89
Windowsのシャットダウンイベントを捕捉したいと思っています。

ウワサではWM_ENDSESSIONというイベントがアプリに来るらしいのですが、
Qtのプログラムで捕捉できるのでしょうか?

639 :デフォルトの名無しさん:2013/10/17(木) 19:34:01.09
void MainWindow::closeEvent(QCloseEvent *event)
{
if (userReallyWantsToQuit()) {
event->accept();
} else {
event->ignore();
}
}

640 :デフォルトの名無しさん:2013/10/18(金) 08:41:29.21
有難うございましたorz

641 :デフォルトの名無しさん:2013/10/18(金) 22:10:24.53
>>619
c_str()は不要。intにするメソッドが用意されているので使いやすい。

642 :デフォルトの名無しさん:2013/10/18(金) 22:14:11.85
>>614
>コンシューマライセンスの値段すらまともに知らなそうだな
個人だが充分元が取れる。

643 :デフォルトの名無しさん:2013/10/18(金) 22:20:17.38
いやそれ以前にアスペちゃんってとこには噛み付かないのか

644 :デフォルトの名無しさん:2013/10/20(日) 10:50:20.58
QListWidget::setViewMode()にIconModeを,
QListWidgetItem::setFlags()にQt::ItemIsEditableを追加したウィジェットを作ったのですが,
アイテムをダブルクリックするとテキストエディタが右に表示されます.
どうすればテキストの上にエディタを表示できますか?

環境はQt 5.1,OS XとLinuxで確認しました.

645 :デフォルトの名無しさん:2013/10/20(日) 17:26:14.67
docking時に、MFCみたいにアイコン出す方法はないの?

646 :デフォルトの名無しさん:2013/10/20(日) 23:10:30.34
>>644自己解決というか別の方法で回避しました.
QAbstractItemDelegateを継承してQAbstractItemDelegate::updateEditorGeometry()を再実装したクラスを作りました.

647 :デフォルトの名無しさん:2013/10/23(水) 07:28:10.91
Mac/Win両対応させる目的として、
CocoaとMFCを使わない理由は何ですか?

Qtは使ったことありませんが、いずれにせよ各ネイティブのコーディングは避けられないですよね?

648 :デフォルトの名無しさん:2013/10/23(水) 07:44:44.04
>>647つづき
Qtのベンダーや関連サイトなどを見ればいろいろとメリットが並べられていますが、一度通ればそれが資産となりクリアできるようなことばかりのような気がします。
各OSが提供するフレームワークを直に操作する方が気持ちいい感じがします。

649 :デフォルトの名無しさん:2013/10/23(水) 08:23:59.83
プラットフォーム依存コードを書くことは悪意をもって意図しなければ全体の1%も無い。そういう風にするのが目的のライブラリだから
その1%のために100%を投げ捨てて、2つの(Linux含めれば3つか)全く違うFWに車輪の再開発してそれを保守するメリットがあるかどうか。
自作部品も結局Qtにある機能だったら、ただの劣化か同程度の部品を作って終わりになる。
うまくいけばほんのちょっとはパフォーマンスいいかもしれないけど、コストにはあわないレベルだろうね

650 :デフォルトの名無しさん:2013/10/23(水) 10:13:32.11
UIパーツとのデータのエクスチェンジ部以外はC/C++で記述すれば基本的に共用出来ると思います。
UIパーツごとの資産があればほぼ流用で間に合います。
特にMacのXcodeの生産性はとても高いです。

651 :デフォルトの名無しさん:2013/10/23(水) 10:19:46.65
もちろん、資産のあるなしが分かれ目でしょう。
ゼロからスタートするなら話は別です。

652 :デフォルトの名無しさん:2013/10/23(水) 10:23:33.34
Qtの通常の商用ライセンスは1プラットフォーム30万/年だそうですが、次年次更新料はおいくらなんでしょうか?

653 :デフォルトの名無しさん:2013/10/23(水) 11:06:16.13
>>651
それはQt云々ではなく、資産があるのにわざわざ別のものに乗り換えるメリットがあるかどうかってだけの
話じゃないか。これまでご苦労様ってことだよね。

654 :デフォルトの名無しさん:2013/10/23(水) 11:49:19.49
Qt5以降
デフォルトでやたらdll同梱しなくちゃいけなくなったけど
1つのdllにまとめる方法とかって無いの?

655 :デフォルトの名無しさん:2013/10/23(水) 14:34:29.80
多少骨でも身軽でいたい。

656 :デフォルトの名無しさん:2013/10/23(水) 16:10:52.32
>>654
upx

657 :デフォルトの名無しさん:2013/10/23(水) 18:37:17.07
昔のMFCはキモすぎてQt使いだしたらもう絶対MFCとか使いたくないと思ったんだけど、
最近のMFCはまともになったの?

658 :デフォルトの名無しさん:2013/10/24(木) 01:17:00.77
Qt5.2 Beta
QtCreator 3.0 Beta

659 :デフォルトの名無しさん:2013/10/24(木) 08:48:22.50
QSpinBoxで、ボタンによる編集なのかエディット部分による編集なのか、イベント側で判断できるのでしょうか?

660 :デフォルトの名無しさん:2013/10/24(木) 18:11:48.47
>>657
なってない。>>647の気が知れん。

661 :デフォルトの名無しさん:2013/10/24(木) 19:14:10.28
MFCを使う理由がないなあ。
ほとんどはQtで事足りるし、
c++11xになってstlもかなり良くなったしな。

662 :デフォルトの名無しさん:2013/10/24(木) 21:24:09.66
>657
そんなことされたら、キモいのを我慢して必死で作成した
過去の資産が全部使えなくなるから困る。

663 :デフォルトの名無しさん:2013/10/24(木) 22:14:05.92
Wireshark、GTK+からQtに移行
ttp://it.slashdot.jp/story/13/10/24/0356225/

664 :デフォルトの名無しさん:2013/10/24(木) 22:17:16.19
マジか

665 :デフォルトの名無しさん:2013/10/24(木) 23:51:59.58
過去の資産とか言ってる奴にかぎって大した資産でも無い場合がほとんど
そういう奴のコードは汚いから書き直した方が良い

666 :662:2013/10/25(金) 00:42:23.78
大した資産でないというのはその通りかもしれんが、どんな酷いコードでもそこからビルドされたものが稼働しているというのは相当な存在感がある。

現実的にはコードを手直しする工数も
なかなかとれないから過去のプロジェクトをそのまま使用できるのは重要。

ちなみに、私はMFCが嫌いなので 自分の意思だけで使用するフレームワークを決められるならMFCは絶対に使いません。

667 :デフォルトの名無しさん:2013/10/25(金) 08:02:33.84
>>666
MFCが無くなるかもしれないような状況にならないと、わざわざ乗り換える意味はあまりないだろうね。

しかしアンタが書いてきたような事情があるんなら,いきなり>>647,648みたいなカキコすると、ただQtを
貶しに来たと思われても仕方ない。

668 :デフォルトの名無しさん:2013/10/25(金) 08:26:41.06
>>667
俺の想像だけど、>>647はMac寄りの人なんじゃないかと思った
「Mac用アプリを作るならQtよりCocoaで作った方が気持ちいいと思います」なら「あーそれは確かに」って思うし
そこにMFCが絡むと???ってなるけどw

669 :デフォルトの名無しさん:2013/10/25(金) 09:39:41.34
>>663
おそいよ

670 :デフォルトの名無しさん:2013/10/25(金) 20:46:20.07
>>647はQt使ってから来ればよかったのにね

671 :デフォルトの名無しさん:2013/10/26(土) 07:09:23.18
MFC使えばQtはいらない(ドヤッ)

死ぬほどワロタwww

672 :デフォルトの名無しさん:2013/10/26(土) 09:53:59.89
MFCが未だに使われている理由はMSだからだぞ
商用で使用される場合、無料で配布されているライブラリほど恐いものは無い

いつ打ち切られるかわからないし、どういう挙動を示しても文句は言えない

673 :デフォルトの名無しさん:2013/10/26(土) 10:15:06.11
MFCは生のWin32APIを触ったほうがマシってくらいに不完全なんだよなあ
最近はどうか知らないけど今後もMFCが保守されるとは思わないし

674 :デフォルトの名無しさん:2013/10/26(土) 10:15:16.96
インタープリタコンパイラやJVMすべてを否定した瞬間である。

675 :デフォルトの名無しさん:2013/10/26(土) 10:23:31.28
もうやめてください
泣いてるC++/CXもいるんですよ

676 :デフォルトの名無しさん:2013/10/26(土) 12:28:45.42
プロプライエタリなライブラリほど怖いものは無い

打ち切られたらお手上げだし、文句言ったところで挙動を直してくれるとは限らない

677 :デフォルトの名無しさん:2013/10/26(土) 13:52:04.17
MSライブラリ大半を否定した瞬間である。

678 :デフォルトの名無しさん:2013/10/26(土) 15:48:24.69
Qt程度のフレームワークなら一から書いたほうが楽だよな
他人のドキュメント読むのうぜーし

679 :デフォルトの名無しさん:2013/10/26(土) 16:24:18.50
また大きく出たもんだね。やってもらおうじゃないの。
そういうのを車輪の再発明と言うんだよ。

680 :デフォルトの名無しさん:2013/10/26(土) 16:54:00.97
後にC++界にその名を轟かすことになる678氏誕生の瞬間である

681 :デフォルトの名無しさん:2013/10/26(土) 16:59:53.94
標準ライブラリとして採用されるわけですね

682 :デフォルトの名無しさん:2013/10/26(土) 22:29:57.90
LinuxとOS Xを使ってるけど開発環境が統一できるから捗る

683 :デフォルトの名無しさん:2013/10/27(日) 03:02:58.45
一人でqt規模のフレームワーク作ったらどれくらい時間がかかるんかな?

684 :デフォルトの名無しさん:2013/10/27(日) 03:14:13.83
言語の選択が肝
C言語なら数年かかるがJavascriptなら数時間あればできる

685 :デフォルトの名無しさん:2013/10/27(日) 03:38:32.40
まじっすか。数時間でできるものにNokiaは1億5000万ドルも出したんすか

686 :デフォルトの名無しさん:2013/10/27(日) 07:29:45.86
数年もかかるかよ
長くて3ヶ月

687 :デフォルトの名無しさん:2013/10/27(日) 07:31:41.96
JavaならOSごとに作る必要が無いから
Cだと数年はマジだと思う

688 :デフォルトの名無しさん:2013/10/27(日) 08:53:11.92
しかしもうQt5.2なわけだが
もうみんなほとんどQt5に移行したんかね

689 :デフォルトの名無しさん:2013/10/27(日) 09:18:00.20
OS毎に作る必要が無いって…
OS依存のネイティブな部分までJAVAがサポートしてくれんの?
Qtのフレームワークはかなりネイティブな部分まで弄ってるぞ

690 :デフォルトの名無しさん:2013/10/27(日) 10:11:02.34
ここは釣堀かよw

691 :デフォルトの名無しさん:2013/10/27(日) 10:29:02.82
qtって無料ですか?

692 :デフォルトの名無しさん:2013/10/27(日) 10:41:22.54
>>689
JINIってご存知?

693 :デフォルトの名無しさん:2013/10/27(日) 11:11:24.48
>>692
JAVAだけじゃ書けないってことですね知ってます

694 :デフォルトの名無しさん:2013/10/27(日) 11:14:29.09
>>692
もしかして "JNI"

695 :デフォルトの名無しさん:2013/10/27(日) 11:15:26.25
>>692
すまん、JNIと勘違いした
JINIでネイティブな部分のめんどうみれるの?

696 :デフォルトの名無しさん:2013/10/27(日) 11:19:12.06
>>690
良く釣れる釣堀ですね

697 :デフォルトの名無しさん:2013/10/29(火) 07:45:24.96
Qt creator上から走らせると実行できるのに、出来たexeファイルをダブルクリックすると
「プロシージャエントリポイントInterlockedCompareExchange@12がダイナミックリンクライブラリから見つかりませんでした」
と出るのはなぜですか?
ちなみにOSはWindows8、Qtは5.1.1、Creatorは2.8.1です。

698 :デフォルトの名無しさん:2013/10/29(火) 08:14:47.42
>>697
Qtのインストール先の\binディレクトリにPATHが通ってないから。
Qt Creatorからだと子プロセスのPATHに上のディレクトリを追加してるから動く。

699 :デフォルトの名無しさん:2013/10/30(水) 12:45:04.84
>>697
x64でビルドしたらx64のDLL、x86でビルドしたらx86のDLLが必要で
両方共に名前は全く同じだけど中身は別になる

700 :デフォルトの名無しさん:2013/10/30(水) 23:41:24.04
http://rfi.a.la9.jp/sateweb/scurl/znsc.html
お世話になります。
私、責任者の加茂と申します。以後、宜しくお願い致します。
http://www.karilun.com/img_shop/15/ss52_1368685958.jpg
浪速建設様の見解と致しましては、メールによる対応に関しましては
受付しないということで、当初より返信を行っていないようで、今後につい
てもメールや書面での対応は致しかねるというお答えでした。
 
このように現在まで6通のメールを送られたとのことですが、結果一度も
返信がないとう状況になっています。
 
私どものほうでも現在までのメール履歴は随時削除を致しております
ので実際に11通のメールを頂戴しているか不明なところであります。
 
弊社としましても今後メールでのやり取りを差し控えたく、浪速建設様
と同行の上でお会いさせていただきたい所存です。
http://rfi.a.la9.jp/hn203/set/Avatar_set/Avatar_set.html

701 :デフォルトの名無しさん:2013/10/31(木) 16:40:29.45
JavaだのJavaScriptだの使ってると何をやってもあと一歩届かないということが
どうしても解らないらしい連中がいるよな。
要求水準が相当低く、しかもそのことに気づいていない。

ブラウザ、データベース、3Dゲームほぼ全部、Photoshop等のペイントツールほぼ全部、
JavaScriptのエンジン、その他多くのLL、コンパイラ、
vim/emacs/Sublime Textなど主要エディタほぼすべて、
つかそもそもUNIXのコマンドほぼ全部、ドライバ、OS etc...
本当に重要なソフトウェアはことごとくC/C++で書かれているというのに

せっかくプログラマなぞやっておきながら
上のほうのレイヤーで誰かの掌の中で踊らされているばかりとか、つまらんだろ普通に。

702 :デフォルトの名無しさん:2013/10/31(木) 18:29:42.57
QTはJavascriptでも使えるけどね。
C++から使うより速度速いし。

703 :デフォルトの名無しさん:2013/11/01(金) 18:42:06.60
>>702
速度は遅い。いい加減ことは言わないように。

704 :デフォルトの名無しさん:2013/11/01(金) 20:18:37.92
楽しいぬO(≧∇≦)o

705 :デフォルトの名無しさん:2013/11/01(金) 21:50:16.49
JSはCの2倍速い。
C++比では4倍。
JITによる高速化、メモリー確保の最適化によるボトルネックの解消。

706 :デフォルトの名無しさん:2013/11/01(金) 22:39:59.77
JSすごくね?
新しいコンパイラ?

707 :デフォルトの名無しさん:2013/11/01(金) 23:52:21.49
ネイティブより速いってJS用チップでも乗っているのかい

708 :デフォルトの名無しさん:2013/11/02(土) 12:34:46.94
釣られてみるが、
JSがCの2倍速くて、C++の4倍速いって
CがC++の2倍速いなんてあり得ないしなあ。
メモリ確保の最適化ってHPCのコードでも
ない限りボトルネックになるようなことは
ないんだけどな。

709 :デフォルトの名無しさん:2013/11/02(土) 12:58:06.11
>>705 
じゃ、じゃあ、QtQuickは普通のQtアプリケーションより、4倍速いんですか(≧∀≦)?

710 :デフォルトの名無しさん:2013/11/02(土) 13:04:06.27
そりゃもうQuickだからな

711 :デフォルトの名無しさん:2013/11/02(土) 13:27:55.40
昔から言うだろ、赤い物は3倍早いって

712 :デフォルトの名無しさん:2013/11/02(土) 15:24:14.45
まあ、馬鹿が書いたC++が遅いってのはあるかもしれんな
同じ馬鹿にJSで書かせたら4倍早く動くかどうかはわからんが

713 :デフォルトの名無しさん:2013/11/02(土) 15:33:10.54
で、>>702のバカはなんでC++より速いとか言い出したのかね

714 :デフォルトの名無しさん:2013/11/02(土) 15:57:18.07
パターンマッチングでperlとC++を比較して、
perlが速いとか言ってるのと同じだな

715 :デフォルトの名無しさん:2013/11/02(土) 19:58:33.54
自分はLinuxで開発してるけど、Macユーザもいるので
Qt Mac Extrasには期待しておる
標準だとウンコみたいな見た目になるからな

716 :デフォルトの名無しさん:2013/11/03(日) 05:11:03.26
見た目がうんこだと何か困ることでもあるのか?
GTKは見た目も中身も糞だぞ

717 :デフォルトの名無しさん:2013/11/03(日) 14:58:32.32
板違いの質問だったら、申し訳ありません。
Qt プログラムをコンソールから実行したいと考えています。

Qt Creatorで下記のような単純なコンソール・プログラムを作成しました。
[ソース]------------------------------------------------------------
#include <QCoreApplication>
#include <cstdio>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::puts("こんにちは。 QT world\n");
return a.exec();
}

コマンドプロンプトからexeファイルを指定して実行した時は、
問題なく動作したのですが、mintty(MinGW+MSYS)から実行すると、
コンソールに何も出力されません。

mintty等の端末エミュレータでqtプログラムを実行する事は
不可能でしょうか?

無知で申し訳ありませんが、アドバイス頂けると助かります。

[環境]
Windows 8
Qt creator(2.8.1)
Compiler : MinGW g++ (同梱ではなく、別途インストールしたもの)

端末エミュレータ: mintty (msys-mintty)

718 :デフォルトの名無しさん:2013/11/03(日) 15:03:11.45
.proの中身を貼れ

719 :717:2013/11/03(日) 15:30:51.01
>>718
レスありがとうございます。
.proファイルを添付します。


[QT_helloworld.pro]
#-------------------------------------------------
#
# Project created by QtCreator 2013-11-03T13:41:23
#
#-------------------------------------------------

QT += core

QT -= gui

TARGET = QT_helloworld
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

お手数ですが、アドバイスを頂けると幸いです。

720 :デフォルトの名無しさん:2013/11/03(日) 16:00:25.01
ソースコードのエンコーディングとMSYSのロケールは?

721 :717:2013/11/03(日) 17:06:08.92
>>720
ソースコードのエンコーディングを確認したところ、UTF-8です。
一方、msys-minttyのロケール設定ですが、文字化け防止のため

システム環境変数で変数名:LANG 変数値:ja_JP.UTF-8
としています。

(※utf-8で記述したcppソースコードをminttyで表示するための
 応急処置でやってます)

この設定だと問題がありますでしょうか?

722 :デフォルトの名無しさん:2013/11/03(日) 20:29:42.80
AttachConsole(ATTACH_PARENT_PROCESS);

723 :717:2013/11/04(月) 07:44:01.86
>>722
レスありがとうございます。
下記プログラムを作成し、ビルドしようと思ったのですが、
エラー: 'AttachConsole' was not declared in this scope
AttachConsole(ATTACH_PARENT_PROCESS);

と出ます。Win32apiをMinGWで呼び出す方法が正しく理解できてない
からだと思います。自分でもう少し調べてみようと思います。

ご協力ありがとうございました。 ^


//#include <QCoreApplication>
#include <cstdio>
#include<windows.h>
#include<wincon.h> //#incluede<WinCon.h>

int main(int argc, char *argv[])
{
// QCoreApplication a(argc, argv);
AttachConsole(ATTACH_PARENT_PROCESS);
std::puts("QT world\n");


// return a.exec();
return 0;
}

724 :デフォルトの名無しさん:2013/11/04(月) 08:30:41.44
::AttachConsole(ATTACH_PARENT_PROCESS);

725 :デフォルトの名無しさん:2013/11/04(月) 09:35:55.99
std::putsのstd::ってnamespaceだよな。
attachconsoleにも何か要るんじゃね?

726 :デフォルトの名無しさん:2013/11/04(月) 11:58:46.63
doxygenのプラグインは自分でビルドしないといけないのだろうか

727 :デフォルトの名無しさん:2013/11/04(月) 13:37:16.69
開始前に
if(AllocConsole()){
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
}


終了前に
FreeConsole();

728 :デフォルトの名無しさん:2013/11/04(月) 16:46:48.28
そもそも .proの CONFIG += console が、Windows用でAllocConsole,FreeConsoleを行う
オプションじゃなかったっけ?

729 :デフォルトの名無しさん:2013/11/04(月) 17:06:29.66
バインディングにCがあるんですが実際使っている人はみんなC++じゃないんですか?

730 :デフォルトの名無しさん:2013/11/04(月) 19:25:15.50
CONFIG += console
を付けるのと付けないのとではメッセージの出力場所が変わるらしいから
その関係だろう
自前できちんと出力場所を設定すれば表示されるはず

731 :デフォルトの名無しさん:2013/11/05(火) 18:24:57.01
Qt5からqftpが廃止されてしまってQNetworkAccessManagerを推奨しているみたいなんですが、
サーバー上のディレクトリのファイル一覧とかってQNetworkAccessManagerで取れるんですか?
とれないなら、どうやって補ってるんですか?

732 :デフォルトの名無しさん:2013/11/05(火) 18:30:57.54
SCP/SSH推奨

733 :デフォルトの名無しさん:2013/11/05(火) 18:34:17.83
>>731
っ ttp://stackoverflow.com/questions/6758121/howto-implement-sftp-with-qt-qnetworkaccessmanager-c

734 :デフォルトの名無しさん:2013/11/05(火) 18:59:12.90
>>732
>>733
レスありがとうございます。
ssh/scpやurl先見てきたんですがつまりどういうことなんでしょうか?

735 :デフォルトの名無しさん:2013/11/05(火) 21:42:55.70
http://qt-project.org/forums/viewthread/26724
これとか

736 :デフォルトの名無しさん:2013/11/05(火) 22:03:56.38
unkonow

737 :717:2013/11/05(火) 22:22:33.63
>>724-730

レスありがとうございます。717です。

msys-minttyからプログラム起動した時にも標準出力に
文字列を出す事ができました。

原因は初歩的な思い込みでした。お騒がせして申し訳ありません。

<原因>
command promptの場合:明示的にflushしなくて標準出力が実行される。

msys-minttyの場合:明示的にflushすれば標準出力が実行される。
(ex.)
std::puts("こんにちは。QT world!\n");
std::flush(std::cout);

両者の挙動が異なるため、「msys-minttyでは標準出力ができない」と、
勘違いをしておりました。標準入力も問題なく使用できました。

以上、お手数をお掛けしました。

738 :デフォルトの名無しさん:2013/11/05(火) 22:40:40.91
>>735
実際にそのページのサンプルプログラムを動かしてみたのですが、
Protocol "sftp" is unknown
の表示がでて、駄目でした。
どのような対策とっていけばいいんでしょうか。。。

739 :デフォルトの名無しさん:2013/11/06(水) 06:35:50.40
まさかflushしてないってオチはないよなー、
そんな間抜けは俺だけorzと思ってたが、お前もかw

740 :デフォルトの名無しさん:2013/11/06(水) 09:04:08.60
https://github.com/lvklabs/QSsh

741 :デフォルトの名無しさん:2013/11/06(水) 15:01:52.04
>>739
すみません、flushとはなんですか。。。?

>>740
オープンソースというやつでしょうか?
qsshやqsftp等で調べていると何度もこのURLに遭遇するのですが、
いまいち使い方がわかりません。
どのように使えばいいんでしょうか?

742 :デフォルトの名無しさん:2013/11/06(水) 17:00:30.06
馬鹿には無理

743 :デフォルトの名無しさん:2013/11/06(水) 17:34:29.57
Qtに限らずC/C++から使えるFTPクライアントライブラリを探せばいいじゃん

744 :デフォルトの名無しさん:2013/11/06(水) 18:46:25.56
馬鹿には無理って書き込んでも楽しくないよ

745 :デフォルトの名無しさん:2013/11/06(水) 19:33:32.55
基地外は伝染する
その感染力は半端ない
流入して来てる可能性もあるが
もともとの住民が感染して
基地外が増殖している可能性も否定出来ない

746 :デフォルトの名無しさん:2013/11/08(金) 12:31:49.29
イベントループのアイドル状態のときに処理を入れたいのですがどうしたら良いでしょうか

747 :デフォルトの名無しさん:2013/11/08(金) 17:09:27.41
ゲームみたいに動きっぱなしで良いならQTimer::start(0)

748 :デフォルトの名無しさん:2013/11/10(日) 00:15:42.18
>>747
ありがとうございました!

749 :デフォルトの名無しさん:2013/11/10(日) 18:39:03.87
QtってC++なのになんでもっさりなの?
C#みたいなチャライ言語で作られたものよりドンくさいってどうよw

750 :デフォルトの名無しさん:2013/11/10(日) 18:56:42.17
MinGW使ってない? VC++のコンパイラだとそうでもないよ。

751 :デフォルトの名無しさん:2013/11/10(日) 21:42:59.29
デザイナでできる事が多い分どこまでをデザイナで開発するか悩む
フォームの編集、アクションの作成、シグナル/スロットの作成
どこまでデザイナ使ってる?

752 :デフォルトの名無しさん:2013/11/10(日) 21:52:23.23
なんかこのスレの人って結構なんでも丁寧に答えるよな
人間ができてるというか

753 :デフォルトの名無しさん:2013/11/10(日) 23:55:35.26
「もっさり」ってよく聞くけど、ちゃんと実験して数値化できないのかな
何が悪いのかはっきりしないと改善しようもないし
MinGWで性能落ちるのはわかるけど「もっさり」にどれくらい影響があるのかとか

754 :デフォルトの名無しさん:2013/11/10(日) 23:56:54.28
そもそもC++がもっさりだろ
C使え

755 :デフォルトの名無しさん:2013/11/11(月) 00:01:41.97
JSのほうが速い

756 :デフォルトの名無しさん:2013/11/11(月) 00:33:53.22
しってた

757 :デフォルトの名無しさん:2013/11/11(月) 10:35:30.03
>>751
フォームの編集(*.ui)だけだな
他は結局ソースに手を入れることになるので

758 :デフォルトの名無しさん:2013/11/11(月) 19:31:28.89
もっさり? openframeworksはえ〜ぞ 何するかしらんが

759 :デフォルトの名無しさん:2013/11/11(月) 20:59:34.39
>>757
ありがとう
wiresharkのソース見てみたらuiで全部やってるみたいだから真似することにしたわ

760 :デフォルトの名無しさん:2013/11/11(月) 23:38:54.44
>>753
ランタイムがでかいから、起動するまで時間がかかるので、もっさりのイメージが
あるけど、起動後はもっさりではないんじゃないか

761 :デフォルトの名無しさん:2013/11/11(月) 23:56:38.23
.netのもっさりが嫌でC++使ってんのに・・・
やっぱりWinで作るならMFCかWTLしかないのかしらん

762 :デフォルトの名無しさん:2013/11/12(火) 00:11:17.13
どうせdebugモードのランタイム使ってるんだろ

763 :デフォルトの名無しさん:2013/11/12(火) 01:21:29.77
もっさりとか曖昧な表現しか使えない奴は本当に遅いCPUでQt使ったこと無いんだろ
Cortex以前のARMとか

764 :デフォルトの名無しさん:2013/11/12(火) 07:24:54.04
そんなマイナーな世界の話で遅いと言ってんのか。

765 :デフォルトの名無しさん:2013/11/12(火) 07:45:54.78
wxWidgets最強

766 :デフォルトの名無しさん:2013/11/12(火) 08:08:59.59
.netも7なら遅いと思わなくなってきた

767 :デフォルトの名無しさん:2013/11/12(火) 08:19:55.17
>>761
それは.netで感じるもっさりをQtでも感じてるって意味?
もしそうなら具体的にどういうところがもっさりなのか聞きたい

実際にもっさりするのであれば描画の遅延あたり?
マウスクリック検知で色変えるようなアプリ用意して並べて動画で検証とかすりゃ解るかなあ

768 :デフォルトの名無しさん:2013/11/12(火) 11:14:41.58
ここ何スレか、もっさりとかMFCがとか言うの多いね。同じ人かどうか分からんけど
こういう人って、どこにボトルネックがあるか真面目に調べる気が感じられないんだよなあ・・・
あ、でも何度も相談乗ってあげてる人はいい人だと思います

769 :デフォルトの名無しさん:2013/11/12(火) 22:21:47.65
例えばプロジェクト名がtestで、main.cppからビルドしようとすると
"testmain.cppが見つかりません"ってエラーになるの何でやねん???

770 :デフォルトの名無しさん:2013/11/12(火) 22:26:29.44
消えろカス

771 :デフォルトの名無しさん:2013/11/12(火) 22:52:08.72
ヤフれカス

772 :デフォルトの名無しさん:2013/11/12(火) 23:01:03.91
ビングれ少年。

773 :デフォルトの名無しさん:2013/11/13(水) 13:38:42.77
特急列車乗っちゃってろよ

774 :デフォルトの名無しさん:2013/11/13(水) 21:18:32.96
>>755
いい加減なことをいってはいけない。JSの方が確実に遅い。

775 :デフォルトの名無しさん:2013/11/14(木) 00:00:54.23
>>769
プロジェクトファイルをテキストエディタで開いてファイル名を修正して保存

776 :デフォルトの名無しさん:2013/11/18(月) 17:47:48.85
Windows上のQtって、
例えば、ボタンのテキストって、UTF-8を受け取ってくれましたっけ?

777 :デフォルトの名無しさん:2013/11/18(月) 17:49:15.89
>>776
Qt4ならsetCordecForCStringsを呼び出せば受け取る。Qt5はUTF-8ならば受け取る。

778 :デフォルトの名無しさん:2013/11/18(月) 17:51:34.00
C++とQMLに分離してからQtは終わった。
QMLに傾倒したUbuntuもしばらくすれば見捨てるだろう。
Qtがよかった時代ももうすぐ終焉だ。

779 :デフォルトの名無しさん:2013/11/18(月) 17:55:10.98
お前がそう思うならそうなんだろう

780 :デフォルトの名無しさん:2013/11/18(月) 18:15:50.98
>>779
「お前ん中ではな」がついてないと意味が正反対だな

781 :デフォルトの名無しさん:2013/11/18(月) 18:18:21.69
漏れもそう思うお

782 :デフォルトの名無しさん:2013/11/18(月) 18:31:40.67
>>779
お前は評価力、判断力、技術力すべてゼロだな。

783 :デフォルトの名無しさん:2013/11/18(月) 18:40:00.12
C++11以降のプログラミング上の利点をQMLでは明示的にはまったく利用できなくなったのはどうしようもない改悪だよ。

784 :デフォルトの名無しさん:2013/11/18(月) 18:41:53.02
このキチガイ早くどっか別のスレに行ってくれないかなぁ

785 :デフォルトの名無しさん:2013/11/18(月) 18:50:40.45
>>784
能力ゼロのお前がキチガイ。

786 :デフォルトの名無しさん:2013/11/18(月) 19:15:09.87
もーケンカすんなよ

787 :デフォルトの名無しさん:2013/11/18(月) 21:52:36.96
QMLは親会社がNokiaでiPhoneとAndroidができないときに
苦し紛れに作っただけのおもちゃ

788 :デフォルトの名無しさん:2013/11/19(火) 08:24:45.36
NOKIAもSymbianが4まで行けばQtが標準で載る予定だったんだよな。残念だったわ。

789 :デフォルトの名無しさん:2013/11/19(火) 09:32:27.75
kwsk>>783

790 :デフォルトの名無しさん:2013/11/19(火) 10:04:07.11
JavaScriptはインタプリタだし動的型付けだしどっちかっつーと関数型言語よりなんだから
C++11/1yのフィーチャーを使いたいのに使う理由がないよって言いたいんじゃない?

791 :デフォルトの名無しさん:2013/11/19(火) 17:58:54.17
UI/UX担当が、jsを使うんだからQMLは妥当

792 :デフォルトの名無しさん:2013/11/19(火) 19:24:30.62
>>791
妥当→失敗

793 :デフォルトの名無しさん:2013/11/20(水) 20:17:52.30
QtScript→QSA→QMLの流れはTrolltech時代から続く正統な進化だと思うのだが
少なくともNokia時代の突然変異では無いな

JavaScript(ECMAScript)は関数言語的*にも*使える、数多ある言語の中でも、
最も手続き型的な言語の一つだろう

794 :デフォルトの名無しさん:2013/11/20(水) 22:52:53.00
QtでやるくらいならMFCのましだろ
情報量がパネーし

2chで聞いても二言目にはヤフレカス・・・

795 :デフォルトの名無しさん:2013/11/20(水) 22:53:13.78
JavaScriptはゴミ
みんなが使うのをやめたがっている
JavaScriptを使うQMLもゴミ

796 :デフォルトの名無しさん:2013/11/20(水) 23:11:19.07
>>794
>QtでやるくらいならMFCのましだろ

ありえね〜

797 :デフォルトの名無しさん:2013/11/21(木) 01:42:48.98
QMLでやるくらいならMFCのほうがまし

798 :デフォルトの名無しさん:2013/11/21(木) 02:15:02.74
そこに限っては同意してやってもいい

799 :デフォルトの名無しさん:2013/11/21(木) 04:39:42.70
Qtスレはちょくちょくレスがあっていいなー。GTK+スレはさびしい……

800 :デフォルトの名無しさん:2013/11/21(木) 16:24:20.74
GTKはスレ自体ないような

801 :デフォルトの名無しさん:2013/11/21(木) 16:33:01.03
前は3つくらいあった気がするが残ってるのはこれだけかな
http://toro.2ch.net/test/read.cgi/tech/1147024203/

802 :デフォルトの名無しさん:2013/11/21(木) 21:52:53.67
MFCなんてXlib並に低レベルで今日日、誰も触らない
html5の方が遥かにマシ

803 :デフォルトの名無しさん:2013/11/21(木) 22:06:39.12
QtとMFCとhtml5ってあんまり一緒に語るもんじゃないよなぁ・・・

804 :デフォルトの名無しさん:2013/11/21(木) 23:04:41.81
QSocketでFTPコマンドを送信してリモートのファイル一覧を取得が上手くできません。

接続した後にUSER,PASSを送信してログイン完了の反応は確認できています。
その後に、CWDとPASVを行っています。

ですが、LISTコマンドの場合は応答がありません。
一覧を取得するコマンド以外(作成や更新時刻の取得等)はちゃんと反応が得れます。


ですので、反応を少し待とうと
waitForReadyRead(3000);
を加えると、エラーで
Network operation timed out
と吐き出されます。

どうすればいいのでしょうか?

805 :デフォルトの名無しさん:2013/11/21(木) 23:16:00.18
FTPはオワコン

806 :デフォルトの名無しさん:2013/11/22(金) 00:19:47.89
うんscpつかおう
使えんの?

807 :デフォルトの名無しさん:2013/11/22(金) 06:53:06.83
ソースが公開されてるQtと非公開のMFCを比べてる時点でお察し

808 :デフォルトの名無しさん:2013/11/22(金) 18:32:36.40
非公開のMFC

809 :デフォルトの名無しさん:2013/11/22(金) 18:34:29.48
初心者ですよろしくおねがいします。
ソースが公開されてないMFCはどこで買えるんですか?

810 :デフォルトの名無しさん:2013/11/22(金) 18:56:14.57
コンビニ

811 :デフォルトの名無しさん:2013/11/22(金) 19:50:30.52
誰も知らないと思ってデマを広める気か

812 :デフォルトの名無しさん:2013/11/22(金) 22:41:58.96
一応無料のエディションにMFCが付属していたことはないから「公開」とは言えんのじゃないかしら
まあソースコードもセットなの知らんでの発言だろうけど

813 :デフォルトの名無しさん:2013/11/23(土) 17:03:15.51
「MFCが恋しくない者には心がない。MFCに戻りたい者には脳がない」
    --- ウラジミール・ゲイツ

「MacAppは死んだんだ。THINK Class Libraryだって帰っては来ないんだ。
 もうPowerPlantの時代は終わって、君も人生と向き合う時なんだ」
    --- チャーリー・ジョブズ

814 :デフォルトの名無しさん:2013/11/28(木) 00:16:55.16
Qt3.4 ですが、
QListView の中に、編集可能なテキストを作るにはどうすればいいですか?

815 :デフォルトの名無しさん:2013/11/28(木) 00:20:44.45
できません

816 :デフォルトの名無しさん:2013/11/28(木) 18:42:02.86
ダウンロードしてみてサンプル動かしてみんだけど
コンパイルエラーでError: cannot open C:\Users\〜〜って出てくるんだけど何が問題なんだろうか
もしかしてユーザー名に漢字があるとダメ?
ちなみにvc2012,opengl,64bit版です。

817 :デフォルトの名無しさん:2013/11/28(木) 18:43:52.17
そりゃまあだめやろね

818 :デフォルトの名無しさん:2013/11/28(木) 21:02:58.00
>>817
openするファイルってどこで変えるんだか分かる?

819 :デフォルトの名無しさん:2013/11/28(木) 22:21:19.11
とりあえずOSの基礎くらいから勉強してみれば?

820 :デフォルトの名無しさん:2013/11/28(木) 22:49:22.37
漢字Talkですねわかります

821 :デフォルトの名無しさん:2013/11/29(金) 00:54:47.32
>>819
いやだってこのエラーでググってもあんまりhitしなくて
英語の環境設定のチェックを外せばできる云々ってのしか見つからんからよう分からん

822 :デフォルトの名無しさん:2013/11/29(金) 03:42:35.60
>>3にプロジェクトは日本語パスNGって書いてあるね

823 :デフォルトの名無しさん:2013/11/29(金) 07:28:51.88
>>822
あ ごめん

824 :デフォルトの名無しさん:2013/11/29(金) 08:44:18.76
そんな問題いまだにあるのか?
UTF-8決め打ちでMBCSでアクセスしとんのけ?
いい加減WCHAR使えよ

825 :デフォルトの名無しさん:2013/11/29(金) 08:58:10.55
>>824

x いまだに問題がある

o いまさら変えられない

826 :デフォルトの名無しさん:2013/11/30(土) 13:49:40.41
wchar_tはやめようぜ、環境によって長さが違うのはもうカンベンだわ。
UTF-32(UCS-4)にして、char32_t の文字変数で使おうず

827 :デフォルトの名無しさん:2013/11/30(土) 15:27:29.80
Qt の中の人に言わないと意味無くね?

828 :デフォルトの名無しさん:2013/11/30(土) 18:29:27.58
楽天kobo並だな。

まあ、あれ本体の中はQtだけど。

829 :デフォルトの名無しさん:2013/11/30(土) 19:55:32.69
日本語パス問題はたしか qmake の問題じゃなかったかな

それはそれとして世の中の流れは wchar_t じゃなく utf8 かと
http://utf8everywhere.org/
まあ俺はwchar_tの方が使いやすいけどutf8は正論

830 :デフォルトの名無しさん:2013/12/01(日) 06:29:55.27
windowsがパス名をutf8で返してくることは永遠にないんじゃね

831 :デフォルトの名無しさん:2013/12/01(日) 17:35:35.81
wchar_t が16bitでUTF-16なのはWindowsの世界だけだと早く気付け
マルチプラットフォームのライブラリが、そんな実装依存の代物を使うわけないだろ

832 :デフォルトの名無しさん:2013/12/03(火) 19:00:38.59
>>794
ググれ

833 :デフォルトの名無しさん:2013/12/03(火) 19:05:14.47
>>793
関数型とは無名関数ぐらいしか共通点が無いんだけど
パターンマッチやリストの評価、無制限の再帰とか機能がたりな過ぎるんだけども

834 :デフォルトの名無しさん:2013/12/05(木) 10:52:08.13
未だQt4+OpenGL使ってるんだが、Qt5の3D関係ってどうなってるの?

835 :デフォルトの名無しさん:2013/12/05(木) 11:03:49.04
Qcanvas

836 :デフォルトの名無しさん:2013/12/06(金) 13:24:59.23
IME関連のAPIがQt4から変わっててわからない

837 :デフォルトの名無しさん:2013/12/07(土) 09:30:57.73
QtCreatorのデザイナ上でQStatusBarにウィジェットを追加するにはどうすればいいんですか?

838 :デフォルトの名無しさん:2013/12/07(土) 16:10:00.70
>>837
コードを書く。フォーム編集ではできないよ。

839 :デフォルトの名無しさん:2013/12/07(土) 22:54:39.47
>>833
同意。JavaScriptを選んだのはQtの失敗の始まり。

840 :デフォルトの名無しさん:2013/12/07(土) 23:53:46.31
>>833
パターンマッチやリストは関数型言語の構成要素では無いよ
再帰の制限は実装の話であって言語としての制限ではない
first class function であるかどうかだろ

841 :デフォルトの名無しさん:2013/12/08(日) 00:46:41.87
>>840
C++のtemplate機構は昔から関数型であると言われてるが、
関数に当るtemplateが第一級オブジェクトじゃない。
xsltも関数型と言われるが関数に当るタグが第一級オブジェクトじゃない。
因みにExcelも関数型らしく関数型の国際会議で話題になった。
http://research.microsoft.com/en-us/um/people/simonpj/Papers/excel/index.htm

つまるところ、関数が第一級オブジェクトであることは関数型の要件ではない。

842 :デフォルトの名無しさん:2013/12/08(日) 00:50:21.82
>>840
関数型言語は無限再帰を言語として保証してんだから言語として保証してないのはちょっとねぇ

843 :デフォルトの名無しさん:2013/12/08(日) 01:08:23.91
>>842
JavaScriptは言語仕様として再帰の制限なんて無いよ

844 :名無し募集中。。。:2013/12/08(日) 01:21:58.41
C++もXSLTも関数型言語では無い
理由は >>841 が書いてある通り

845 :デフォルトの名無しさん:2013/12/08(日) 01:36:19.82
>>841にも書いてあるがxsltは関数型言語
http://www.ibm.com/developerworks/jp/xml/library/x-tiploop/

846 :デフォルトの名無しさん:2013/12/08(日) 01:38:00.21
>>843
だから関数型言語とは言いづらい。
基本的な処理が保証されてないからね。

847 :デフォルトの名無しさん:2013/12/08(日) 06:36:30.81
>>838
ありがとうございました

848 :デフォルトの名無しさん:2013/12/08(日) 19:34:37.10
末尾再帰やらファーストクラス関数やら参照透過性やら多値やらモナドやら?
何の話をしてるのかよくわかんないけど、あんまりQtの話と関係ない気がします続きは別スレで!

849 :デフォルトの名無しさん:2013/12/09(月) 11:47:46.53
知ってる単語並べただけか
おまいが一番うざい

850 :デフォルトの名無しさん:2013/12/09(月) 11:48:58.01
ごめんね
自重する

851 :デフォルトの名無しさん:2013/12/09(月) 16:58:33.42
ごめんなさい・・・

852 :デフォルトの名無しさん:2013/12/13(金) 06:56:01.64
久しぶりに色々アップデートしようと思ったらNecessitasってQt本体に取り込まれたの?

853 :デフォルトの名無しさん:2013/12/13(金) 08:59:08.46
取り込まれた

854 :デフォルトの名無しさん:2013/12/14(土) 02:21:52.64
そかそかさんくすこ

855 :デフォルトの名無しさん:2013/12/15(日) 21:45:16.27
Qt Installer Framework って何をするものなのでしょう?
どんなことができるのでしょう?

856 :デフォルトの名無しさん:2013/12/15(日) 21:46:54.64
…。

857 :デフォルトの名無しさん:2013/12/19(木) 17:03:29.26
Qt Installer Frameworkって便利だけどインストーラ本体のサイズが12MBってとこで敬遠しちゃうよね
Qt本体みたいに何百MBもあるパッケージなら誤差だけど、一般的なソフトウェアはそんなデカいパッケージ持たないし

858 :デフォルトの名無しさん:2013/12/19(木) 17:12:26.32
ん?
IEのインストーラーとか500kBくらいだったりするが

859 :デフォルトの名無しさん:2013/12/19(木) 17:34:45.12
何で突然IEのインストーラが出てきたんだ?
遠回しにQtIFを馬鹿にしてるのか!?

860 :デフォルトの名無しさん:2013/12/19(木) 23:51:30.23
PyQt4にてボタンからファイルダイアログ開こうと思って
dialog = QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', '/User/')
て適当に書いて実行しようと思ったらそこでType errorが出て
argument 1 has unexpected type 'クラス名'
って返ってきたんですが、どういう意味で どうしたらよいのでしょうか?

861 :デフォルトの名無しさん:2013/12/20(金) 04:18:18.02
QPlaneTextEditに「数字\t数字」を出力して、2つの数字コピペして
Excelの別々のセルに貼っつけたいんだけど、QPlaneTextEditからコピペしたら
1つのセルに「数字[ tab ]数字」が入力されちゃって困ってます
どなたか解決策あれば教えて下さい…!

862 :デフォルトの名無しさん:2013/12/20(金) 06:12:38.85
>>861
Excelに貼り付けないでテキストエディタに貼り付けてもそうなるの?

>>860
selfの型があってなさそうだが。

863 :デフォルトの名無しさん:2013/12/20(金) 20:44:51.34
>>862
ありがとうございます
エラーはなくなりました。
でも親ウィジットが表示されずいきなりファイルダイアログに・・・

864 :デフォルトの名無しさん:2013/12/21(土) 03:51:02.48
>>862
メモ帳に貼り付けると「数字[ tab ]数字」が貼り付けられます
一応、Qtアプリ →(コピペ)→ メモ帳 →(コピペ)→ Excel でやれば別々のセルに入力っての出来るんですが…
どうにかメモ帳挟まずにやりたいんです。どうにかなりませんかね…?
QTextEditでもやってみましたが、QPlain〜と同じような状況です

865 :デフォルトの名無しさん:2013/12/21(土) 06:17:03.41
メモ帳のテキストコピーがどんなデータが持ってるかをバイナリ配列デバッグ出力して見る
それと同じデータになるようにQPlainTextEdit からコピーするときにクリップボードの中身を置換する

866 :デフォルトの名無しさん:2013/12/21(土) 07:20:32.34
>>864
Excelで、「形式を指定して貼り付け」だったかでクリップボードのタイプが分かると思う。
それをQtからのときとメモ帳からのときで比べてみたらどうだろう。

867 :デフォルトの名無しさん:2013/12/21(土) 09:02:19.95
クリップボードにHTML形式が含まれているからだな
自前でplainTextをクリップボードへ突っ込めばいい

868 :デフォルトの名無しさん:2013/12/21(土) 23:18:40.89
>>865>>866>>867
レスありがとうございます
Excelで見てみたところ、おっしゃるとおりQPlainTextEditはHTMLで出力されているようでした
一応ググりまくってみたんですが、QPlainTextEdit(QTextEdit)からHTMLを
純粋なテキストデータで出力する方法はなさそうですね…んーあると嬉しいんですが。
Ctrl+Cのショートカットも書き換えられたら最高ですが、とりあえずクリップボードの中身を置換するよう頑張ってみます。
ありがとうございます

869 :デフォルトの名無しさん:2013/12/22(日) 03:56:52.59
QPlainTextEdit::appendHtml ( const QString &amp; html ) [slot]
QPlainTextEdit::appendPlainText ( const QString &amp; text ) [slot]

試してないけど
この2つの挿入の仕方によって持ってるデータが変わるのかもね

870 :デフォルトの名無しさん:2013/12/22(日) 04:13:44.73
connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT());

connectでクリップボードの変更を補足できる
自アプリがアクティブの時にだけ置換処理すりゃいいかな

そういやQPlainTextEditからテキストコピーした時に
メモ帳にhtmlタグ無しのテキストを貼り付けられるってことは
htmlタグの付いてないテキストもどこかに保持してるってことなんだっけ

ブラウザでページ上のテキストをコピーした時もhtmlタグ付きのテキストを保持してたような記憶がある

871 :デフォルトの名無しさん:2013/12/22(日) 04:47:12.41
質問です
元々MinGW・Qt4.8を想定して作られたソースコードをVS2010pro・Qt5.20でコンパイルし直したところ、
処理時間が以前の10倍から20倍にまでなってしまいました。
ググってみたところ4から5に移行した際にQAccessibleに問題があったらしいのですが、それだけでここまで処理時間に差が出るものなのでしょうか

872 :デフォルトの名無しさん:2013/12/22(日) 11:59:16.80
最適化かけわすれとかない?一応

873 :デフォルトの名無しさん:2013/12/22(日) 12:14:35.69
>>871で初めて5.2がリリースされてたことに気づいた
しかもすでに1週間たっていたとは

874 :デフォルトの名無しさん:2013/12/22(日) 12:45:21.25
>>871
最適化オプションの違いに一票。

875 :デフォルトの名無しさん:2013/12/22(日) 14:41:01.21
QAccessibleの問題はQt5.1で直ってるはず

876 :デフォルトの名無しさん:2013/12/22(日) 15:45:20.44
>>870
text/plainとtext/htmlの両方がD&Dのコンテナに入っている。

877 :デフォルトの名無しさん:2013/12/22(日) 17:25:50.38
関係ないけどD&Dとかアンドゥってどうやって実装すんのか分けわからん
みんな複雑にポインタの関係性が絡んだオブジェクトをピックアップしてちょちょいとシリアライズしちゃってんすか

878 :デフォルトの名無しさん:2013/12/22(日) 18:48:34.11
難しい言葉覚える前にドキュメントを読めるようになろうね

879 :デフォルトの名無しさん:2013/12/22(日) 20:33:15.50
質問させてください。
http://s1.gazo.cc/up/71958.png
こういう演奏モニタのGUIをQTを使って実装したいのですが、
どのQtのGUIクラスを使って実装すればいいかわかりません・・
鳴っている音の鍵盤の色を変えたいのですが、鍵盤の1つ1つをQWidgetクラスにするような
感じになるでしょうか。
良いやり方があったら教えていただけませんでしょうか。
よろしくお願いします。

880 :880:2013/12/22(日) 20:35:58.99
すみません、画像のURLはこちらです
http://s1.gazo.cc/up/71958.png

881 :デフォルトの名無しさん:2013/12/22(日) 22:08:22.54
Qtは関係無いような。。。。
TableViewに鍵盤群のWidgetをデリゲートで埋め込むって言うのがぱっと思いついた。

882 :デフォルトの名無しさん:2013/12/22(日) 23:58:17.43
そんなに数多くないしQWidgetの中にQWidgetを絶対posで配置するだけでいい

883 :デフォルトの名無しさん:2013/12/23(月) 00:57:43.22
こういうものこそQMLにすべきだと思うが

884 :デフォルトの名無しさん:2013/12/23(月) 01:13:16.55
>>869
どうも、挙げていただいた上は「HtmlをHtmlとしてHtmlで表示」に、下は「TextをTextとしてHtmlで表示」するようです
つまり、上は<Br>が改行に、下は\nが改行になるようと…
>>870
ありがとうございます!完璧です!お陰でうまくExcelに入力できるようになりました。
ただひとつ、自分がアクティブなウィンドウかどうかを判断する方法がどうしても見つかりませんで、
アプリケーションを起動していると、かならずコピーをText化してしまいます
Webブラウジング中とかにコピーしたらタスクバーが光るくらいで、別に問題はないのですが…
最後にもう一歩ヒントいただけると助かります…!
>>876
そのD&Dコンテナの中身のペースト時の優先順位って変えられるものなんでしょうか?

885 :884:2013/12/23(月) 01:31:53.12
>>870
…あ、すみません、自己解決しました!
クリップボードの監視の後に、アクティブかの判断したら良かったんですね。
逆でやろうとしてどうしてもダメでした。ありがとうございました!

886 :デフォルトの名無しさん:2013/12/23(月) 11:59:14.55
>>879
Graphics View。

887 :デフォルトの名無しさん:2013/12/23(月) 12:04:56.79
>>884
D&Dコンテナに入っているもののどれを使うかは受け取る側が決めます。
例えば画像とそのファイル名が入っていたら、
どちらか片方あるいは両方取り出すかは受取側のコードの書き方次第です。

888 :879:2013/12/24(火) 02:35:20.74
レス頂きありがとうございます。
>TableViewに鍵盤群のWidgetをデリゲートで埋め込む
>QWidgetの中にQWidgetを絶対posで配置
>QML
>Graphics View。

なんかやり方何通りもあるんですね。。
質問ばかりで申し訳ないのですが、それぞれどんなメリット/デメリットがあるのでしょうか。
ちなみに、この演奏モニタのウィンドウをマウスで拡大/縮小したら
1つ1つの鍵盤の大きさも比例して拡大/縮小するような感じしたいと思っています

889 :デフォルトの名無しさん:2013/12/24(火) 18:53:28.04
キー1個1個を子widgetに分割するってんなら無駄が多すぎるから止めた方がいいと思う
QWidgetは結構リッチなクラスだからそういう使い方には向いてない
代わりにQWidgetを継承したカスタム描画クラスを作って、QPainter::drawRectとかでゴリゴリ描いていけばいい

俺だったら横1列を1個の描画クラスで実装して、それを必要なだけ作ってQVBoxLayoutに放り込むかな
リサイズは描画クラスをリサイズできるように実装しておけばあとはQScrollAreaで簡単に実装できる
画像と全く同じものならそれで十分作れるから、Qt初心者なら無理して難しいものに手を出さなくていいと思う
というかまずはそのレベルのものが作れるようになってから手を出せばいいと思う

QWidgetを継承して描画クラスを作る方法はこの辺を参考に
http://qt-project.org/doc/qt-5/qwidget.html#paintEvent
http://qt-project.org/doc/qt-5/qpainter.html

あとQMLは特に初心者にはオススメしない
QMLの中身云々以前にまだ公式以外のドキュメントが少なすぎて手探りで作る羽目になる

890 :884:2013/12/25(水) 05:45:40.87
>>887
なるほど、Excelに渡してる以上こっちからは特に何も出来ないと…
わかりやすくどもです!

891 :デフォルトの名無しさん:2013/12/25(水) 10:06:05.62
つーか、>866でいいんでね?

892 :デフォルトの名無しさん:2013/12/26(木) 03:19:52.40
QwidgetにあるプッシュボタンからQFiledialogだしたくて
コネクトで
def opendialog(self,Form):
dialog = QtGui.QFileDialog.getExistingDirectory(Form,"Open Directory", "/User/")
dialogopen = open(dialog)
data = dialogopen.read()
self.folderpath.setText(data)
dialogopen.close()
こんな風にしたら、テストすると、いきなりダイアログが出てきてしまいます。
どうしたらよいのでしょうか

893 :デフォルトの名無しさん:2013/12/26(木) 10:28:32.49
プッシュボタンのSlotに書かないとダメでしょ。
とりあえず、デザインパターン、Signal-Slotの理解からだな。

894 :デフォルトの名無しさん:2013/12/26(木) 12:01:24.01
>>893
すいません 説明のしかたが悪かったです。
self.pushbutton.connect(self.searchfolder,
QtCore.SIGNAL("clicked()"),
self.opendialog(Form))
してから
>>892 ですねすいません

895 :デフォルトの名無しさん:2013/12/26(木) 17:38:06.66
self.opendialog(Form)

この記述をした行で実行されてる
引数に渡すのものは、「関数が収まってる変数」なのでは

896 :デフォルトの名無しさん:2013/12/26(木) 19:44:34.70
>>895
OD = opendialog(Form)
として処理してみても 結果は変わりませんでしたが

897 :デフォルトの名無しさん:2013/12/26(木) 19:55:44.06
関数を実行する記述と
変数を渡す記述の違いをわかれ

898 :デフォルトの名無しさん:2013/12/27(金) 17:57:14.88
久しぶりに清々しいまでのカスが来たね

899 :デフォルトの名無しさん:2013/12/29(日) 23:39:18.94
どの引数か教えていただけると助かります

900 :デフォルトの名無しさん:2013/12/30(月) 00:36:19.69
self.pushbutton.connect(self.searchfolder, QtCore.SIGNAL("clicked()"), self.opendialog)

901 :879:2014/01/02(木) 22:33:31.23
>>889
ご丁寧に解説いただきありがとうございます!
教えていただいた方法で実装してみてそれっぽいのが出来ました。
QWidgetを鍵盤の数分だけnewするのはさすがにオーバーヘッドとか
メモリの消費量がでかすぎそうですかね・・

また質問させていただくこともあるかと思いますがよろしお願いします。

902 :879:2014/01/04(土) 23:23:56.94
QPainter で分からないことが出てきましたので質問させてください。
前述の演奏モニターの実装で、QPainterを使って大体描画ができたのですが、
QPainterのdrawPolygon()などのメソッドは
paintEvent(QPaintEvent *)メソッド内でしか呼べないのでしょうか??

例えば演奏中に打鍵された鍵盤を青色に反転させたい場合
paintEvent(QPaintEvent, color)
のようにpaintEventの第二引数で色の情報を渡そうとしてみたのですが
paintEventに第二引数をつけてオーバーライドすると
drawPolygonのようなメソッドがちゃんと動かなくなるようで、
何も描画されなくなってしまいました。

解決方法を教えていただけると幸いです

903 :デフォルトの名無しさん:2014/01/04(土) 23:25:35.57
ヘルプに書いてあるだろ

904 :デフォルトの名無しさん:2014/01/05(日) 01:06:41.68
>>902
QWidget::paintEventはイベントハンドラだから、自前のコードから直接呼んでも描画はされない
描画を更新したいときはQWidget::updateを呼んで、イベントループに再描画を促す
当然引数を増やすのは難しいので、打鍵状態は描画クラスのメンバ変数等を経由して渡す

905 :879:2014/01/05(日) 03:42:01.90
>QWidget::paintEventはイベントハンドラだから、自前のコードから直接呼んでも描画はされない
直接呼び出しても描画はされるみたいですよ??
自分は直接呼んでしまってましたが、本来はupdate()を使うのですね

>当然引数を増やすのは難しいので、打鍵状態は描画クラスのメンバ変数等を経由して渡す
うーむやっぱりそうするしかないんですね・・
実装的に綺麗じゃないのであんまりやりたくないのですが・・。
調べていたらこのスレの一番最初の方にも同じような質問があって
同じような回答がついていました。
ひとまずこの方法でやってみます。ありがとうございましたm(_ _)m

906 :デフォルトの名無しさん:2014/01/05(日) 04:18:51.51
『描画は(保証)されない』
動くならこれで大丈夫だろうという発想はプログラマには御法度だぞ
折角ピンポイントにURL貼ってくれてるんだからそれくらいは全部熟読してから手を付けよう

907 :デフォルトの名無しさん:2014/01/05(日) 08:36:31.72
オーバーロードとオーバーライドの区別も出来ない奴に実装のきれい汚いがわかるのだろうか

908 :デフォルトの名無しさん:2014/01/05(日) 09:23:42.68
>>879はなんとか動くものはできるんだろうが、
コードはひどいものになりそう。

そもそも

>>paintEvent(QPaintEvent, color)

なぜイベントハンドラに複数の引数をもたせよう
と思うか不思議。なんかC言語しか触っていない
プログラマっぽいな。クラス概念が理解できてい
ない感じがする。

909 :デフォルトの名無しさん:2014/01/05(日) 09:59:17.63
汚ならしい引数追加して本人は綺麗な実装のつもりというのがアイタタタ

910 :デフォルトの名無しさん:2014/01/05(日) 14:25:39.10
商用版でなくLGPL版で実際に売られてるソフトってあるの?

911 :デフォルトの名無しさん:2014/01/05(日) 15:07:47.25
人様からお金をとれるソフトをQtなんかで作るかよ
Qtで作られてるってわかったら絶対買わないもん
もっさり感がひどいし

912 :デフォルトの名無しさん:2014/01/05(日) 22:33:07.05
またもっさりの人か
いい加減もっさりしてる例を提示したらどうだ

913 :デフォルトの名無しさん:2014/01/05(日) 22:36:59.74
く、QtCreatorはもっさりだからっ!!……

914 :デフォルトの名無しさん:2014/01/05(日) 22:42:42.96
またMFC信者が荒らしてるのかな

915 :デフォルトの名無しさん:2014/01/06(月) 12:01:08.23
流れを止めて申し訳ないが、Qt Creator 3.0になって
反応が速すぎて使いにくくなったな。逆にモッサリ感ががほしいわ。

916 :デフォルトの名無しさん:2014/01/10(金) 13:44:31.01
Qt Windows、だと、QStringの中の人がUTF-16っぽいですぅ。
UTF-8にするには、どうすれば良いですか?

917 :デフォルトの名無しさん:2014/01/10(金) 14:02:28.96
>>916
>>1-

918 :デフォルトの名無しさん:2014/01/14(火) 17:23:06.68
QtCreatorのエディタ補完機能の設定はオプションにある物しかダメなのかな?
テンプレートとかマクロでも補完機能が効いてくれると嬉しいんだが。

919 :デフォルトの名無しさん:2014/01/21(火) 21:44:38.11
いつのまに
#include <qapplication.h>
ではなく
#include <QApplication>
という書き方になったの?

920 :デフォルトの名無しさん:2014/01/21(火) 21:54:49.08
浦島太郎かよ

921 :デフォルトの名無しさん:2014/01/21(火) 22:03:18.31
10年間くらい離れていたもんで。

922 :デフォルトの名無しさん:2014/01/22(水) 04:45:32.25
じゃあその10年の間になったんだろ

923 :デフォルトの名無しさん:2014/01/22(水) 11:39:44.13
qt3からqt4で変ったのだと思う
変更点が大きかったので区別の為と標準C++ライブラリの形式に合わせる為に
ただ、QApplication ファイルの中身は、#include "qapplication.h" なので
これについては、どちらも同じ

924 :デフォルトの名無しさん:2014/01/22(水) 13:21:55.04
qt4では、

QApplication app( argc, argv );
QWidget mainwindow;
app.setMainWidget( &mainwindow );

上のようなコードを書くと、次のようなエラーが出てしまうようになった。
error: ‘class QApplication’ has no member named ‘setMainWidget’

925 :デフォルトの名無しさん:2014/01/23(木) 09:22:49.03
教えて下さいorz

QTableWidgetのhorizontalHeader()がクリックされたときのイベントを取る方法が知りたいですorz

926 :デフォルトの名無しさん:2014/01/23(木) 17:44:48.86
そのメソッドで取得したQHeaderViewのsectionClickedシグナルにconnectするだけ

927 :デフォルトの名無しさん:2014/01/23(木) 18:00:39.55
ゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwww

928 :デフォルトの名無しさん:2014/01/23(木) 18:13:43.53
つ [orz] >>926

929 :デフォルトの名無しさん:2014/01/24(金) 13:13:15.10
QTableWidgetのQTableWidgetItemって、
setIconとかできますが、
アイコンを文字の右にしたりできるのでしょうか?

930 :デフォルトの名無しさん:2014/01/24(金) 14:41:22.85
localeをイスラエルで

931 :デフォルトの名無しさん:2014/01/27(月) 04:50:03.46
FOSSのGUI周りがQtへ移行しつつあるけれど、最後にはGtkが勝つよ
兎に角、c++で書かれたものは何故だか失敗するような気がするんだ

932 :デフォルトの名無しさん:2014/01/27(月) 13:52:47.66
gtkは糞

933 :デフォルトの名無しさん:2014/01/27(月) 13:54:29.74
>c++で書かれたものは何故だか失敗する

頭が不自由な方でしょうか?

934 :デフォルトの名無しさん:2014/01/27(月) 14:08:18.84
>ような気がする
が笑うとこ

935 :デフォルトの名無しさん:2014/01/27(月) 15:06:13.16
馬鹿には無理

936 :デフォルトの名無しさん:2014/01/27(月) 18:17:50.73
QMLが失敗の原因になるだろう。

937 :デフォルトの名無しさん:2014/01/28(火) 00:47:32.29
c++の仕様が、俺の理解を超える速度で進化している

938 :デフォルトの名無しさん:2014/01/28(火) 22:29:27.61
>>931
へー
じゃあWindowsアプリは全部失敗作ですね

939 :デフォルトの名無しさん:2014/01/28(火) 23:21:14.63
windowsアプリって大したものが見当たらない。とくにベクターに置いてあるものとか。

940 :デフォルトの名無しさん:2014/01/29(水) 18:17:04.46
OfficeとかVisual Studioとか

941 :デフォルトの名無しさん:2014/01/29(水) 18:24:28.11
Cやdelもあるじゃんw

942 :デフォルトの名無しさん:2014/01/30(木) 22:48:52.54
>>937
C++の進化の恩恵をQMLは受けられない。
このような形で2つの言語を駆使しなければならなために近いQtは将来破綻して衰退する。

943 :デフォルトの名無しさん:2014/01/30(木) 23:40:39.08
デスクトップPC自体斜陽なのにまだQML嫌とか言ってんのか
GNOMEとか人いなくなったぞ

944 :デフォルトの名無しさん:2014/01/31(金) 00:20:03.96
手っ取り早くGUI作れりゃ何だっていいっす

ちゃんとメンテしてくれれば

945 :デフォルトの名無しさん:2014/01/31(金) 18:16:41.48
Qt C++入門者です。
質問させて下さい。

win7x64環境で最新版Qt Online Installer for WindowsでQt5.2.0 +MSVC2010
をインストールしてexmplesのGUIアプリをReleseでビルドしてみましたが
実行ファイルを起動するとQt5Widgets.dll Qt5Gui.dll Qt5Core.dll...等のDLLがないとエラーが起きるので
手動で必要なDLL郡をビルド済みフォルダに移す事で起動はできるのですが
ビルド時に必要なDLL郡を自動で追加、もしくは.exeファイルに含む事はできないのでしょうか?

海外で同じような質問をしてる方がいて、回答者が下記のURLを見ろと言っていたのですが、
ttp://qt-project.org/doc/qt-5/windows-deployment.html#manual-installations-with-visual-studio-2008-and-2010
英語が苦手な僕にはちょっと難易度が高いです。
このドキュメントに書いてある事をすれば上記の問題は解決するのでしょうか?
まずやってみろよと言われると思いますが、出来るか出来ないかだけでもいいので、ご回答お願いします!

946 :デフォルトの名無しさん:2014/01/31(金) 18:51:26.69
staticリンクにしる

947 :デフォルトの名無しさん:2014/01/31(金) 18:54:17.70
>必要なDLL郡を自動で追加

C:\Windows\SysWOW64
に dll をコピー

948 :デフォルトの名無しさん:2014/01/31(金) 18:55:23.45
PATH通せばいいじゃん

949 :デフォルトの名無しさん:2014/01/31(金) 19:02:29.77
英語も読めないとか、ゆとりマジゆとり

950 :デフォルトの名無しさん:2014/01/31(金) 19:33:52.14
>>946 >>947 >>948
ありがとうございます!
Qt開発環境がないPCでの起動を想定しているので
>>946
の方法を調べてチャレンジしてみます。

>>949
うるさいどっかいけ!

951 :デフォルトの名無しさん:2014/01/31(金) 21:02:37.32
ライブラリのリンクとか、Qt以前の問題だろ
初心者スレで半年ROMってろ

952 :デフォルトの名無しさん:2014/01/31(金) 21:26:47.74
>> 943
デスクトップは無関係、QMLそのものがダメなんだよ。

953 :デフォルトの名無しさん:2014/01/31(金) 21:34:38.59
>>945
UPX

954 :デフォルトの名無しさん:2014/01/31(金) 22:00:15.49
>>950
その場合、ソース公開義務が発生するから気をつけて。

あと、949は言い方こそ悪いけど、ITやるなら英語はなんとかした方がいいよ。
別に翻訳ツール使ってもいいし、この手の英語は表現の幅が狭いから、のんとでもなる。
新言語と思えばいいよ。

955 :デフォルトの名無しさん:2014/01/31(金) 23:19:17.43
>>953
これは便利ですね!
ありがとうございます!

>>954
はい、気をつけます
英語の方も翻訳機ばかりに頼ってしまって全然身についていないので
これから英語を見る時はもうちょっと学習しながら読むようにします
ありがとうございます!

>>951
すみません・・・(´;д;`)

956 :デフォルトの名無しさん:2014/01/31(金) 23:28:49.13
まあ、ちょっと言い過ぎた

957 :デフォルトの名無しさん:2014/02/01(土) 00:19:51.73
英語どころか日本語も書けないゴミ

958 :デフォルトの名無しさん:2014/02/01(土) 20:43:43.35
!や顔文字が入ると本気でイラッとくるな
死ねばいいのに

959 :デフォルトの名無しさん:2014/02/01(土) 21:09:16.82
まだ小学生かもしれないだろ
将来楽しみじゃないか

960 :デフォルトの名無しさん:2014/02/01(土) 21:20:49.88
なんか沸点低い人多すぎないか

961 :デフォルトの名無しさん:2014/02/01(土) 21:44:56.55
!や?の使い方がおかしいのはたいていちょん

962 :デフォルトの名無しさん:2014/02/01(土) 22:08:15.10
英語読めないってことはLinuxのソースのコメントやドキュメント読んでクスッとしたり出来ないんだな可哀想に

963 :デフォルトの名無しさん:2014/02/02(日) 01:58:24.66
>>954
LGPLはstatic linkであっても「ソース公開義務」が発生するわけでは無いよ

964 :デフォルトの名無しさん:2014/02/03(月) 20:53:01.54
>>963
リンクに必要なオプジェクトを公開する必要があるからディスアセンブルすれば丸見えだよ。

965 :デフォルトの名無しさん:2014/02/04(火) 02:21:04.17
>>964
アホか?

966 :デフォルトの名無しさん:2014/02/04(火) 06:11:17.89
うむ、まさにアホ

967 :デフォルトの名無しさん:2014/02/04(火) 16:47:52.61
アホな俺にkwsk教えてくれ

968 :デフォルトの名無しさん:2014/02/04(火) 18:59:10.89
>>965 >>966
そうかLGPLを知らないのか、ディスアセンブルできないアホ共め。

969 :デフォルトの名無しさん:2014/02/04(火) 20:31:25.89
積極的な義務か
拒否できないという消極的な義務かのちがい?

970 :デフォルトの名無しさん:2014/02/04(火) 22:30:12.10
>>968
ディスアセンブル出来るかどうかとLGPLに何の関係が?

971 :デフォルトの名無しさん:2014/02/05(水) 09:14:27.30
ライセンス云々の前にリンクの仕組みを理解できていないだけだと思う

972 :デフォルトの名無しさん:2014/02/05(水) 09:20:38.03
http://www.agner.org/optimize/objconv-instructions.pdf
http://www.agner.org/optimize/#objconv

973 :デフォルトの名無しさん:2014/02/05(水) 10:58:13.65
QTableWidgetについて教えて下さい。
カレント・セルが描画範囲内にあるか判定して、
外だった場合、スクロールして描画範囲内にする、
といったことを行えますでしょうか?_?

974 :デフォルトの名無しさん:2014/02/05(水) 14:08:42.83
tableWidget->scrollTo(tableWidget->currentIndex());
スクロールするだけならこの一行だけでいい
カレントセルが描画範囲内にあっても誤動作はしないので判定は不要

975 :デフォルトの名無しさん:2014/02/05(水) 16:19:46.64
有難うございました。

976 :デフォルトの名無しさん:2014/02/12(水) 17:11:33.22
レイアウトで、
例えばボタンみたいな固定サイズのボックスを
ハシから詰めていくプログラムは、
どういったものになるでしょう?

レイアウト設定すると、レイアウト内を埋めようとボックスが大きくなってしまいます。。。

977 :デフォルトの名無しさん:2014/02/12(水) 18:12:05.32
レイアウトにQSpacerItemを放り込む
QtCreatorのデザイナならLayoutsの下のSpacers

978 :976:2014/02/12(水) 18:35:50.71
了解しました。つ "頓"

ところで、QWidgetの、minimumSizeとmaximumSizeって、オブジェクトインスペクタで見れますよね。

サイズヒントって、見れないのでしょうか?

ttp://see-ku.com/wiki/wiki.cgi?page=Qt%A4%CE%A5%B5%A5%A4%A5%BA%A5%DD%A5%EA%A5%B7%A1%BC%A5%E1%A5%E2

979 :デフォルトの名無しさん:2014/02/13(木) 02:40:26.67
最近じゃ981超えても落ちないらいいぞ

980 :デフォルトの名無しさん:2014/02/13(木) 02:41:04.91
まじまじ

981 :デフォルトの名無しさん:2014/02/13(木) 02:41:36.25
だらら ら〜ら〜ら〜ら〜

ふぃりぃんぐるぅぶぃ〜^^v

982 :976:2014/02/13(木) 09:37:21.33
>サイズヒント
って、Spacersにだけあるんですねwww(事故レス)

983 :976:2014/02/13(木) 11:59:49.65
さらに、独り言(アドバイスが欲しかったり)ですが、
Spacersって、動的生成はできないんですね?_・

固定で使うしかないか。

984 :デフォルトの名無しさん:2014/02/15(土) 19:27:20.78
>>971
どちらも理解できていないね。

985 :デフォルトの名無しさん:2014/02/15(土) 19:31:13.47
>>982
サイズヒントはSpacersにとウィジェットの両方にある。
>>983
Spacersはレイアウトに入れるオブジェクトで、入れたり取り除いたりできる。

986 :デフォルトの名無しさん:2014/02/15(土) 21:04:59.92
5.2.1でたね

987 :デフォルトの名無しさん:2014/02/17(月) 18:23:21.75
Qt Creator 2.6.2/Win をwin8 64bitで使ってますが、
突然、Widgetにボタンさえはれなくなりました。

新規project作成すると、最初の一回だけはボタンはれたり。。。

Qt Creatorを再インスコしても治りませんが、
レジストリをクリーンにする必要もあるのでしょうか?

この現象が発生する前、フォームの保存でフリーズする現象が発生していました。

988 :デフォルトの名無しさん:2014/02/19(水) 18:57:32.94
QTableWidgetのhorizontalHeaderに、
追加描画したいのですが、簡単には出来ないのでしょうか?

「qheaderview delegate」でググってみましたが、なんだかすごいソースになってますね。

989 :デフォルトの名無しさん:2014/02/19(水) 23:33:07.66
delegate関係はマジで馬鹿だと無理だからキツイわ

990 :デフォルトの名無しさん:2014/02/20(木) 00:13:18.74
何をやりたいのか分からんし自分自身やったことないから分からんけど、
QTableView::setHorizontalHeader使えばゴリ押しで出来るんじゃないかな

991 :デフォルトの名無しさん:2014/02/20(木) 16:43:41.04
QTableWidgetのセルの文字色って、同時2つの色とかに使えるのでしょうか?_?

書式付きテキストが入れられれば良いのですが。。。

992 :デフォルトの名無しさん:2014/02/21(金) 10:22:05.47
QTableWidgetが、タッチパネルのドラッグでスクロールしません。

スクロールさせる方法はありますでしょうか?

993 :デフォルトの名無しさん:2014/02/21(金) 14:53:47.97
>>991
QLabel *label = new QLabel("<font color=red>RED</font><font color=blue>BLUE</font>");
tableWidget->setCellWidget(row, column, label);

>>992
タッチパネルのある環境で開発したことないからよく知らんけど、QScroller使えば出来るんじゃない?

994 :デフォルトの名無しさん:2014/02/21(金) 16:03:27.53
なるほど。ソースコード有難うございました。

995 :デフォルトの名無しさん:2014/02/21(金) 21:34:10.27
>>993
重胃コードだ。

996 :デフォルトの名無しさん:2014/02/21(金) 22:22:40.26
プロジェクトをツリー構造にしたくて関連キーワードを調べたんですが、
.priファイルの作成方法がわからないです。
どうやって作ればいいんでしょうか?

997 :デフォルトの名無しさん:2014/02/21(金) 22:24:01.79
手で書けばいいんじゃね?

998 :デフォルトの名無しさん:2014/02/21(金) 22:45:48.75
Qt for NaCl

999 :デフォルトの名無しさん:2014/02/21(金) 23:30:02.73
hoge

1000 :デフォルトの名無しさん:2014/02/21(金) 23:48:50.65


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

225 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)