【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 16
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、
RuviEdit、さくさくエディタ など
■前スレ
【RAD統合環境】 Qt 総合スレ 15 【Win/Mac/Linux】
http://toro.2ch.net/test/read.cgi/tech/1366354460/
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。配布上の制限はない)
そろそろmocなしでも開発できるようにしてほしい
いちもつ
QtQuick勉強できるとこ教えて
QtQuickもJavaScriptやめて
もう少しましな言語を採用してくれたらいいのに
>>10 同感。C++とJavaScriptの多層化はいずれ破綻する。
12 :
デフォルトの名無しさん:2014/02/25(火) 04:24:05.30
Qt5.1でtcpSocketでデータコネクションを確立させたいのですが、
どのようにやればいいでしょうか?
PASVコマンドの応答メッセージの(xxx,xxx,xxx,xxx,xxx,xx)の中身を
ipAdressとportに分けて。
その後になにすればいいのか教えてください。
>>QTableWidgetが、タッチパネルのドラッグでスクロールしません。 スクロールさせる方法はありますでしょうか?
>タッチパネルのある環境で開発したことないからよく知らんけど、QScroller使えば出来るんじゃない?
QScrollerって、説明全然ないですね。。。
>>13 リポジトリ引き出してtestsのコードを見るのとソースードを見るしかないでしょう。
この頃、ドキュメントに説明がないのが多過ぎる、バグはなおさない、不安定で、おかしくなってきてないか。
それって、Ver.5から?自分使ってるのVer.4.8くらい。
17 :
デフォルトの名無しさん:2014/02/26(水) 15:33:37.19
QLineEditをフラットな見栄えにできるでしょうか?
18 :
17:2014/02/26(水) 15:39:52.36
ごめんなさい、frameプロパティでできましたorz
>>16 pyqtでQtQuickライクなこと出来るの?
QtGuiじゃなくて?
Qtは内部の文字コードがUTF8で統一されたことで
setCodecForTr()みたいな関数は無くなってる
自分4.8使ってますが、5.xから関数無くなるのですか?
いきなりコンパイル通らなくなる、と。。。
ライセンスに関して質問ですが
これ静的リンクの場合LGPLじゃなくて実質的にGPLですか?
つまり、独自開発部分というのがどこまでを指すのか?
手を加えた部分という表現もあり、それとは違うのかな、と思ったのですが・・・
LGPLライブラリAと他のソースBをリンクさせて、アプリケーションCを作る場合(A+B=C)
Aを改造してA'にしたら、A'もLGPLにする必要があるので、改変部分を公開する必要がある。
Bの部分は、特に制限は無い。
Aの自由を守る為にはLGPL部分を改変した時に A'+B=C' が動作できるようにしなければならない。
動的リンクの場合は、ライブラリをA→A'にすれば、実行時にリンクしてくれるので問題無いが
静的リンクの場合は、リンクができるようにBのオブジェクトコードを公開する必要がある。
リバースエンジニアリング禁止の制限も、リンクが上手くいかない時に解析できるようにする措置。
LGPLは、あくまでLGPL部分の自由を守る為にあるのであって、他の部分についてはLGPL部分の自由を
妨げる行為を制限すると考えれば良い。
>>24 詳しくありがとうございます
なるほど、この場合後でQt側?が改変等された上で既存のものに置き換えられるようにするため、という理解で
よさそうですかね
>>26 まあ、配布の際手間がかかるなあ、と言う程度のものなので・・・
動的リンクの実行ファイルとオブジェクトファイルの実行コード部は
ほぼ同じだから気にすることもないでしょう
動的リンクは、LGPLのソースコードが拡張されたっていう解釈になるんじゃないの
あ、静的か
なんたらパックとかやらなきゃ問題ないってそとかな。
Qtライブラリ自体を拡張しても、Qtのクラスの一部を独自に書き直しても、
LGPL部分に一切の手を入れずに、且つ、LGPLのコードを流用せずに自分で
書いたものならば、LGPに縛られることは無い。
あくまでLGPLとリンクするソースという扱い。
> Qt LGPL 版のソースコードの配布を求められた際に、配布を行う義務があります。
これの「求める」の主語は誰ですか?
ユーザーだったらLGPLじゃあり得なくなっちゃいますよね?
LGPL(GPLもだが)を含むバイナリーを受け取った人だな。
Qtを改変していなければ、QtのダウンロードサイトのURLを教えれば配布したことになる。
ああ、ソースコードってそっち?
じゃあLGPLそのままの意味か
↓これがあるから、pragma execution_character_set によるutf8対応は一時的な回避策でしか無いらしい
94 :デフォルトの名無しさん:2013/06/05(水) 00:19:43.05
それ以前に、VS2012から #pragma execution_character_set が使えなくなって、Qt5の日本語はお手上げ状態じゃね?
C++11のunicodeリテラルは2013でも対応してないみたいだし
pragma切り捨てって、それってなんてイヤガラセ。グダグダだね。
gettext一択
Qt 上で Qt linguist では無く gettext を使うメリットが理解できない
Twitterクライアントを作ってみたいんだけどGUIどう設計すればいいのかがいまいち分かりません
Tweenのようなリスト形式じゃなく、Janetter的なツイートごとに大きさの変わる要素を生成して
随時追加していく形式で実装したいんですが、何をどう組み合わせて使えばいいのででしょうか
>Qt linguist
ダウソしてみたら、exeとdllがありましたが、
何をどう使うのでしょう?_・
ダウンロードした奴は古いから捨てなさい
Qt Library の中に既に入ってるから
>>40 Qt/QtLinguistだと違うクラスの同じメッセージも同じ翻訳しなければならないのが欠点。
Qtのメッセージ翻訳の仕組みとQtLinguistは使わずにメッセージを邦訳しなければならないのが現実だ。
Qtが用意している国や言語の分類は実際に製品を作ろうとすると分類が違って役に立たない。
変更と拡張をできるようには作られていないので別に分類しなけばならない。
そのために disambiguation ってもんがあるんじゃないのか?
同じメッセージならlinguistが候補を出してくれるはずだが
リファレンスも読めないカスがドヤ顔で語ってるw
>>46 候補を出すってのは
勝手に内部で翻訳してくれるわけじゃないから
同じ文言なのに何でクラスが違うだけで翻訳してくれないのかと
凄く初歩的な質問ですが。。。
QtCreatorでプログラムの作成をする上で、デバッグ時のローカル変数と式を表示させるウィンドウに
ポインタの値を配列のように表示させるにはどうすればいいのでしょうか?
VisualStudioだと、たとえば
int *i = new int[10];
という変数があれば、ウォッチウィンドウに
i,10
と入力すればi[0]~i[9]まで表示させることが出来たのですが。
>>48 それだけの理由で「Qtのメッセージ翻訳の仕組みとQtLinguistは使わずにメッセージを邦訳しなければならない」
となるのは飛躍しすぎにしか思えない。そうでないなら,余程特殊な事情があるのであろう。
一般的にはそんな必要があるとは思えない。
Qtの翻訳システムは同じ文言なのに
クラスが違うだけで翻訳してくれない不便なシステムってだけだよ
tsファイル(Qt翻訳ファイル)のlocationエレメントはオプションで付けなければ
グローバルに同じ文字列を変換する。
もちろん、そういう使い方もできるようになってる。
Qt4.2でlocationエレメントが導入されたのは、文章が分割されていたり、又言語によって
Yes,No 等、機械的に翻訳したら意味が通じなくなる場合に対応したもの。
QWebViewのProxyに関して質問です。
現在QtアプリケーションでTCPServerを用いたProxyを作っています。
様々なサイトを見てhttpの部分は実装できましたが、httpsの仕組みがイマイチ理解できなかったため、QWebViewのproxy範囲をhttpsを除いたhttpにすれば解決と考えました。
しかし設定ではhttpとhttpsは同一のものとなってしまい結局ログインなどの生じるページのアクセスが出来なくなってしまいました。
ProxyFactoryを使えばと考えましたが、アプリケーションのプロキシの上書きだったためうまく行きませんでした。
proxy.pacみたいにプロトコルで変更する手段はないのでしょうか?
また可能であればhttpsプロトコルのサポートが可能になる方法なども教えていただければと思います。
54 :
デフォルトの名無しさん:2014/03/10(月) 17:31:58.06
55 :
53:2014/03/11(火) 01:24:10.90
ProxyFactoryのサブクラスを実装することにより解決いたしました
SSL関係はまだわかっていないので、ヒントなどありましたらよろしくお願いいたします。
56 :
デフォルトの名無しさん:2014/03/13(木) 09:04:46.21 ID:tbxBsmC8
質問させてください
Player* player = new Player();
QThread* thread = new QThread();
thread->moveToThread(player);
QMetaObject::invokeMethod(thread, "execute");
thread->start();
のようなコードを書いたのですが、
threadを終了させるとき(->terminate()を呼ぶ?)
コールバックのような感じでplayerのstop() メソッドを呼び出すようにしたいのですが、
こういう処理をしたいときはどのように書けばよいでしょうか。
教えていただけると助かります
>>56 スロットにして、connect(thread, SIGNAL(terminated()), player, SLOT(stop()));
terminate()は、QThreadのドキュメントに注意事項が書いてるので、一度は目を通して、
他に、finishedシグナルやquitスロット、exitメソッドが在るから、用途に合ったものを使おう。
QMLを使ってリアルタイムでグラフを書きたい(パフォーマンスモニタ的なやつ)
qwtというグラフを書くためのライブラリがあるみたいですが、QMLで使えるのかどうかがわからない。
そこで質問なのですが、うまくグラフを書くにはどうすればいいと思いますか?
1,QMLとqwtを使ってグラフを書く方法がある。
2,qwt以外のグラフを書くライブラリがあってそれならQMLを使える。
3,QMLをあきらめてC++とqwtで書く。
4,それぐらい自作しろ。
5,そもそもQtを使うこと自体間違ってるからほかの言語、ツールを使う。
6,その他
60 :
デフォルトの名無しさん:2014/03/18(火) 11:14:09.76 ID:CvND3w0b
PyQtをちょっと触って面白そうだと思ったので本格的に勉強したいんですが、何かおすすめのオンライン上チュートリアルってありますか?
62 :
デフォルトの名無しさん:2014/03/18(火) 14:11:30.28 ID:Yg07A7nI
レイアウト時のサイズが変わるウィジェットの横幅取得について質問です。
QWidget *w,*w1,*w2,*w3;
w = new QWidget(this);
QGridLayout * layout = new QGridLayout(w);
layout->addWidget(w1 = new QWidget(w),0,0);
layout->addWidget(w2 = new QWidget(w),0,1);
layout->addWidget(w3 = new QWidget(w),1,0,1,2);
layout->rowStretch(0);
layout->columnStretch(1);
上記の、w2の横幅を取りたいのですがどのように取得できるでしょうか?
63 :
58:2014/03/18(火) 22:29:04.98 ID:ebNsZVld
>>59 ありがとうございます。まさにやりたかったことなんですが商用ですか。
しばらくC++でがんばります。
>>62 w2->width() で良いと思うけど, 親から辿るなら, 階層はこんな感じ
(qobject_cast<QGridLayout *>(w->layout()))->itemAtPosition(0, 1)->widget()->width()
// ※ null参照時のチェックは省略
誰かが書いたPySideのテキスト(尼で売ってる奴)が適当に落ちてるけど
違法うpなのか、著者が分かって上げてるのかよくわからない
66 :
190:2014/04/03(木) 19:34:21.63 ID:JqFz1wq8
お世話になります。
Qtベースのソフトウェア(Maya)のプラグイン開発をしているのですが、
あるAPIを呼ぶとUIオブジェクトのポインタがQWidget*型で返ってきます。
しかし、実際はその子クラスの何らかのQtのUI部品のはずなのですが、
具体的になんなのかが分からず、ダウンキャストできない状況です。
動的に、QtのどのUI部品なのか判断する方法はないでしょうか?
>>67,68
ありがとうございます!
obj->metaObject()->className()
でやってみたところ、QmayaFloatFieldGrpという結果が返ってきました。
おそらく、Maya独自の継承クラスだと思われ、ヘッダファイルも見つからず、ググっても情報が見つからない状況です。
何らかのQtのクラスを継承しているとしたら、その継承階層を動的に調べる方法はないでしょうか?
ありがとうございます。親クラスをたどれました!感謝です!
親はQmayaWidgetGrp、その親はQWidgetでした。
QmayaWidgetGrpも非公開なので、フィールドの値を拾うのは無理そうです。
ですが、おかげさまで勉強になりました。ありがとうございました。
const QMetaObject *mo = obj->metaObject();
for(int i = mo->propertyOffset(); i < mo->propertyCount(); ++i){
QMetaProperty &mp = mo->property(i);
qDebug(mp.name());
}
74 :
デフォルトの名無しさん:2014/04/04(金) 16:26:00.86 ID:9Um+b8sL
QDateEditで、
文字が空のまま入れて、
最後に日付チェックが走るようにしたいのですが、
可能でしょうか?
75 :
デフォルトの名無しさん:2014/04/07(月) 18:39:52.11 ID:I0p7tXw4
QLineEditの右クリックで、ポップアップメニューを開かなくする方法を教えて下さい。
>>75 イベントフィルターで、右ボタンクリックイベントを無視するようにしたらどうかな?
77 :
75:2014/04/08(火) 10:47:39.17 ID:HygVew4k
了解です。
イベントフィルターはなるべく使わないようにとしてましたが、
この対応はそれしかないですか。
lineEdit->setContextMenuPolicy(Qt::NoContextMenu);
79 :
75:2014/04/08(火) 14:16:58.61 ID:HygVew4k
有難うございますorz >>setContextMenuPolicy
イベントフィルターだと上手く消せませんでした(;´д`)
80 :
デフォルトの名無しさん:2014/04/11(金) 17:32:37.26 ID:9RMX0XJj
>QPrinter printer(QPrinter::HighResolution);
って行の中の、
>hdc = CreateDC(reinterpret_cast<const wchar_t *>(program.utf16()),
>reinterpret_cast<const wchar_t *>(name.utf16()), 0, devMode);
ってところで、
アプリが落ちるのですが何ででしょう。
OSをデュアルにしてて、Win7/32bitなら動作するのに、
Win8/64bitの64bitコンパイルすると、実行時に落ちます。
81 :
デフォルトの名無しさん:2014/04/11(金) 21:10:23.32 ID:MJd3FjSO
メモ帳や、画像ビュワー等のプログラムを指定して開くという方法は
どのようにやればいいのでしょうか?
83 :
デフォルトの名無しさん:2014/04/16(水) 14:05:27.10 ID:xU7smsON
Qt のgesturesサンプルについてです。
フリックはサンプルのクラスをそのまま利用できました。
が、回転はあるけど、ピンチイン、ピンチアウトが無いですよね。
どのように作るものなんでしょう?_・
84 :
デフォルトの名無しさん:2014/04/20(日) 22:21:40.99 ID:ZRByYIdB
85 :
83:2014/04/21(月) 11:57:48.27 ID:kJPoTr0E
リファレンスをググろうと思って、
”Qt Pinch”と入力すると、
>Pinch Zoom Example
が出て来ましたwww
Exampleがあれば何とかできそうというか、動くに決まってますよねwww
こんなゆとりにまでQtが普及したのは喜ぶべきことだね
そうだね
88 :
デフォルトの名無しさん:2014/04/23(水) 16:09:31.05 ID:wEs8VIlL
Windoz版Qtで、印刷設定ダイアログを出したいのですが。。。
QPrintDialog ← 「Print」ボタンが余分。設定ダイアログですから。
QPageSetupDialog ← プリンターの選択が出来ない。
89 :
デフォルトの名無しさん:2014/04/24(木) 23:06:58.24 ID:x91cyg6B
>>88 Qtの印刷機能は使い物にならないから仕方がない。
Qtのせいで、数多のクロスプラットフォームツールが死んだ
少し前までWxWidgetsやGtkの方が枯れていたはずなのに、
金が絡みだした途端に、この有り様
オープンソースはGPLでやって、商業利用と完全に住み分けろよ
それほどクロスプラットフォームのアプリあるかな?
smplayer、vlc、launchyくらいしか知らない
グーグル アース、フォトショップ エレメント、スカイプ
全部触って言ってんのかな
ツッコまれると逃げる荒らしかっこわるw
Chrome とか NaCl とか期待したんだけどな
MuseScore
98 :
デフォルトの名無しさん:2014/04/27(日) 20:07:45.21 ID:QM+PmHm7
>>96 この数年後、Qtの品質の悪さがはっきり分かり、QMLでは見込みがないと思われるようになり、Qtは衰退する。
webkitで間に合うわ
Qtは卒業
101 :
デフォルトの名無しさん:2014/05/01(木) 22:02:59.86 ID:rRIyO4Uo
>>90 ただで使えるようになったので群がっている輩が多過ぎ。
>>96 まったく可能性はない。
>>99 WebKitは実装よって違いがあり過ぎるからだめだよ。特にQtの実装は速度や描画品質が劣悪。
102 :
デフォルトの名無しさん:2014/05/07(水) 17:09:52.42 ID:VswVyFUw
わしだって、Windows7のPC買って、QtQuickのプログラム組んでみたいんだお(´;ω;`)
でも、お金がないから、WindowsXPのパソコンでThunderbirdのマクロ作ってるくらいしかできないんだお(´;ω;`)
PChandsのCore2DuoWindows7メモリ4GBのPCが高くて買えないんですお(´;ω;`)
もっと良いPCをもっと安く買いましょう
>102位のスペックでいいなら、中古で三万円くらいで液晶とバッテリーが付いてくるだろ。
core i3の中古ノート2万円で買ったけど
中古で3万円でも高くて買えないって意味でしょう
107 :
デフォルトの名無しさん:2014/05/09(金) 17:28:00.70 ID:uiZuv8Uq
QDialogから、子QDialogをexecでモーダル表示して、
その前後、親ダイアログを非表示にしたいのですが、
親ダイアログをhideすると、親ダイアログのexecメソッドが終わってしまうみたいで困っています。
回避方法を教えて頂けないでしょうか?_・
Qtって実際どうなの。
将来性ある?
ない
Ubuntu14.04でQtCreatorで日本語入力できないな…なんだこれ
ibus-qt 入れてないだけじゃ
>>108 既に、gtk、wxwidgetsをぶっちぎって、他に選択肢がないレベル
Qtは今後車載とか組み込み系で広く使われていきそうだね
PCしか知らない人達にはQtの将来性が見えないみたいだけど
ノキアとはもう完全に縁は切れたん?
Qt使ってるとおしりの穴がきゅーっとなるよね
118 :
デフォルトの名無しさん:2014/05/14(水) 00:06:00.10 ID:E5nLENG/
レンタルサーバーのデータベースの内容を弄りたいのですが、
Qtのqsqlで実現できますかね?
先ずはsql叩いてcommitできるか確認してみては?
次はqsqlで自前のDBにアクセスしてみるとか。
120 :
デフォルトの名無しさん:2014/05/14(水) 14:14:17.53 ID:E5nLENG/
>>119 ありがとう。
qsqlの日本語の文献が見つからなくて萎えていたけれど、
アクセスできるかだけでも試してみる。
MacでQt Creator3.0.0でコード書いてるんだけど、一回でもデバッガ起動するとエディタのレスポンス最悪になるわ、GDBのウインドウには意味のない内部情報でログ一杯になるわでこまってます。
誰か対処法知らない?
・゜・(ノД`)・゜・。
林檎教を脱退しな。きっと幸せになれるよ。
123 :
デフォルトの名無しさん:2014/05/21(水) 16:04:42.37 ID:WeuVSaly
>>121 メジャーバージョン上がってパッチも出ていない3.0.0はだめ、3.1.1を使えばいいよ。
>>117 Audioを扱ったりインタラクティブな処理には不向きだと思った。
Android iOSで。
iOS用は出来たばかりだし、なんだか不十分みたいだからまだ開発に使ってる人は少ないかな?
使った感想を聞きたいんだけど。
xamarinは年間ライセンスなのに高いんだよなあ
今の所iOS Androidは、結構別個に考えざるを得無い部分が多いからネイティブで開発するのに軍配が上がりそう。
これにWindowsPhoneが加わると若干変わるかもしれ無いが、WP自体売れるようになってから考えれば良い。
Microsoftは、WPのアプリを増やすのに必死になってるだけだろ。
PhoneGapも今までの所結構使われてるけど、そんな物殆どがEPUB3に置き換わってしまうだろ。
>>129 その通りだと思う。
QtでiOSとAndroidアプリで作ってもネイティブAPIをいろいろたくさん使わなければならないのでアプリを作り易くはならない。
>>126 そもそもGPL,LGPLを含むアプリはライセンス上 App Store に置けないからね
必然的にQtは商用ライセンスでなければならない
RT >131
PySideアプリをAndroid向けに固める方法っての、公式wikiの解説通りにやってるのにさっぱり出来ない
終わってるな。
もう5.3.1と5.3.2出すよってMLに流れてるな
17日か?5.3.1
>>137 AndroidやiOSはQtではまともなアプリは作れない。機能不足、不安定、描画品質は悪く、操作性も悪い。
Qtはもう時代に着いていけなくなっている。
Qtがモバイルに対応してないだけだろうね
なんだかよくわからないが、当初からクロスプラットフォームを掲げるために一方的に
Windows環境への酷い押しつけをしてきたのに
結局Windows環境でのQtが一番しっくり動いているという現状に呆れ果ててものも言えないな
Linux版よりWindows版がしっくり動いてると思ったことは一度も無いなぁ
GTKは糞
QtはX11では安心して使える。
>>141 Nokiaなんかに買収されたからモバイル対応が遅れに遅れてもうだめだというのが現状。
147 :
デフォルトの名無しさん:2014/06/08(日) 20:32:43.51 ID:yjVDP8Tp
結局一番使えるLinuxってなんなの?
持ちPC限定で
Centrexだろ。
CENTOS
確認したいんだが、
QPainter::drawText(int x, int y, QString text)
って、描画文字列の左下がx、yになるって解釈でいい?
それくらい試してみれば一発だろ低脳
>>150 リファレンスに書かれているよ。
Note: The y-position is used as the baseline of the font.
>>152 ゴメン、Noteのところまで読んでなかった。
drawText() と drawStaticText() の違いは何ですか?
>>150
155 :
デフォルトの名無しさん:2014/06/15(日) 11:09:36.45 ID:PndQYpoX
引数見ろよ
QStaticTextを見りゃわかるだろ
>>154 これもリファレンスに書かれているよ。
drawStaticText():
Note: If the painter's transformation is not affine, then staticText will be drawn using regular calls to drawText(),
losing any potential for performance improvement.
Note: The y-position is used as the top of the font.
あんまりゆとりを甘やかすなよ
本人の為にならないぞ
Qt昔と比べて品質落ちたな
かといって他にいいのもないし
159 :
デフォルトの名無しさん:2014/06/22(日) 13:32:44.90 ID:K4AltexD
Qt5.2でiOSアプリ作るときは出力されたソースをxcode使ってコンパイルするそうですが、これってライセンスで言うところの静的リンクになるんでしょうか。
公式サイトの英文読んだんですが、LPGAライセンスではソースコード開示義務が発生するのかの判断がつかないので、どなたか情報あるかたお教えいただけると助かります。
>>159 Qt iOSはスタティックリンクですよ。
アプリケーションのソースコードまたはアプリケーションのソースコードをコンパイルしてできた.oの両方あるいはどちらか片方、
加えてコンパイルとリンクに必要なリソースのすべての開示が必要。
つまりQtライブラリを差し替えるために必要なものすべての開示が必要。
162 :
デフォルトの名無しさん:2014/06/22(日) 23:41:35.00 ID:K4AltexD
>>160 コメントありがとうございます。
やっぱりスタティックリンクなんですね。appleのポリシーが変わってないのでそうかとは思ってましたが、確認できて助かりました。
ちょっと商用ライセンスの料金は捻出できないので、iOSはあきらめるかxcodeで作るか…ですね。
>>158 オープンソースとか言って質の悪いコードが紛れ込むからだな。
オープンソースの弱点。
164 :
デフォルトの名無しさん:2014/07/03(木) 10:43:48.08 ID:STXjNLbP
159で質問させていただいたものです。
ひとまずLPGAライセンスのQt+QMLでWindows・Mac・Androidの開発を行い、XcodeでiOSの開発を行うことに決まりました。
どこまで同じソースで動くのかという心配はあるものの、まあこれもチャレンジかなと思って楽しんでみます。
コメントいただいた方、ありがとうございました。
>>164 iOSではQtを使わないのは妥当な選択です。
iOS使わないのが妥当な選択
将来的にどうかはともかく、
今はiOSは市場として無視できないからな
自社のリソースは将来性のあるAndroid等に投入してiOSは外注に投げるのが利口なやり方
もしくは自社リソースでも使い捨てして惜しくない奴に押し付けるか
コピペチェッカーが反応してる
>>167 頭良いな
うちで働かない?
決して使い捨てにはしない
骨の髄までしゃぶり尽すから
172 :
デフォルトの名無しさん:2014/07/08(火) 09:46:06.14 ID:8u3VSYQo
QTableWidgetって、
セル描画イベントとかって、
あるのでしょうか?_・
>>171 2chって、本当は大した事言って無い人に対して「頭良いな」って書く人いる
よね。意味が全く分からない文章に対して「禿しく同意」というものもある。
こういう行為は価値観の誘導のように思える。自分と同類を褒めそやす事
によって自分まで地位が高まることを期待しているような。
174 :
デフォルトの名無しさん:2014/07/11(金) 09:32:45.35 ID:Lx3So7Yg
RT >もしくは自社リソースでも使い捨てして惜しくない奴に押し付けるか
>>172 セルに描画したいならばQAbstractItemDelegate::paint()
PC壊れたんで新しいマザボ&CPUにしたんですが
今までVideoWidgetで動画を再生するとwidgetのサイズに合わせて表示されていたのが、動画本来のサイズで表示されます
動画をwidgetのサイズに引き伸ばす方法はありますか?
環境は以下の通りです。 もしスレ違いであれば誘導していただけると助かります
Qt 5.21
OS Ubuntu 12.04
CPU Core i3 4330
M/B B85M-G
>>178 新しいマザボにしたのならOSも2年前の12.04でなく14.04に、Qtも5.3.1にしてみたらどうですか。
Qt5.3はQt5.2よりとても沢山のバグや不備が直っているので乗り換えた方がいいですよ。
>>179 すみません、5.3.1はQtMultimediaの更新が無さそうなのでスルーしてました
その他のバグの可能性もあり得ますね。更新してみます
OSも更新したいところなんですが現在HDDが数、容量、現金にも余裕が無い状況なものでorz
Linuxはドライバ自体がWindowsと比べて遅れているので原因をつかむのが難しいですね
181 :
178:2014/07/28(月) 13:17:06.85 ID:ey38TUrO
5.3.1にしてみましたが残念ながら変化なしでした
もう少し探ってみることにします
QtWebEngineはやくしてくれー!
ワシはAndroidでwebkit使いたいんじゃー!
Webブラウジング出来ないのつらいんじゃー!
>>182 AndroidとiOSにはそっぽを向いていた期間が長過ぎたからWeb以外にも遅れ過ぎで品質も極悪。
184 :
デフォルトの名無しさん:2014/08/02(土) 14:43:16.32 ID:Xnj8Fbsl
Qtのブラウザ対応って進んでないの?
unityみたくブラウザでも動かせるといいんだが
ブラウザ対応できなきゃ
ゲームエンジンとしてQtを使う方向が育たない
jsで動くQtは何年か前に見たことがある
>>184 Qt5で後退、タブレットはNokiaがやらせなかったからまったく駄目どうしようもない。
QtSVGを廃止しようとしたり
わかってない人が作っている感じ
マルチタッチはデフォルトでまともになったのかな?Qt5は?
189 :
178:2014/08/03(日) 23:15:09.32 ID:LU2jPe/C
178です
Ubuntuを14.04をクリーンインストール。Qtを最新にしたのですが今度は映像のみが出力されなくなってしまいました
実行時に「GStreamer-CRITICAL **: gst_object_ref_sink: assertion 'GST_IS_OBJECT (object)' failed」と出るので調べたのですがあまり情報が無いようで…
14.04で標準リポジトリから無くなった模様の「gstreamer0.10-ffmpeg」も入れてみたのですが状況変わらずです
前に作ったQt4+PhononのものやVLCでは再生されます
解決法をご存知の方いらっしゃいませんか?
190 :
デフォルトの名無しさん:2014/08/03(日) 23:41:45.53 ID:2+sobgl2
環境に左右されやすそうなライブラリは同梱して配布するしかない
191 :
178:2014/08/04(月) 00:06:44.15 ID:81sEInp1
すいません。質問したばかりですが自己解決しました
GStreamer関係を闇雲にパッケージ追加してたらgir1.2関係を入れた途端に映像出力されました
原因も直った理由もさっぱりです
僕の休日返してください
webkitω
>>190 >環境に左右されやすそうなライブラリは同梱して配布するしかない
Qt Creatorもそうしているね
QMLでコード書くの詰まらないしおもしろくもないし首尾一貫していないのでうんざり。
いい加減文句ばっか言ってないでQtに見切りつけたら?
Gtkでやれってか
フォークしてもいいんだよ
GPL/LGPLなんだから
文句でなくて駄目だと言っているだけなんじゃないのかな。
フォークをしても解決にはならないよ。
同じこと
202 :
デフォルトの名無しさん:2014/08/10(日) 18:25:17.88 ID:WSpuTRJM
良い知らせ七日
それとも悪い知らせ七日
クロスプラットフォームどころかQtのバージョン間の互換性も短命のだから・・・。
204 :
デフォルトの名無しさん:2014/08/11(月) 00:35:55.95 ID:nBAsS5IH
時代がブラウザとスマホで
html5だけでQt負けそう
C++が必要な場面が少なすぎるんだよ
qmlとかブラウザじゃ動かないし意味なさすぎだろ
完全にhtml5と競合してるじゃん
205 :
デフォルトの名無しさん:2014/08/11(月) 00:38:02.75 ID:nBAsS5IH
qmlの方向性がhtml5と競合してるのに
動く環境の幅やら開発ツールやらが負けすぎてる
フルブラウザ乗せられない組込みでは意味あるんじゃないかなQMLも
TRONをdisるのは
>>198 >GPL/LGPLなんだから
似非LGPL。NokiaがNokiaのためにLGPLにしただけだよ。そのような背景も考えてものを考えずにフォークしてもよいというのは浅はかだよ。
そしていらなくなったら捨てた。KDEとのしばりがあったからQtを葬り去ろうとしてもできなかった。
>>204 QtはQtWebKitででhtml5は使えるけれどQtWebKitの完成度が今ひとつふたつなのが困る。
WebKit自体がQtをベースに開発されたKDEのWebエンジンから派生したものだというのは知っているのかな。
WinでQt使ってますが、
QDialogをshowして(つまり、モードレス)、
別ウィンドウを開いて閉じたときに、
QDialogにフォーカスを移動したいのですが、上手く行きません。
ウィンドウに対してBringToFrontみたいなこと出来ますでしょうか?
QDialog::show(); QDialog::ctiveWindow(); QDialog::raise();QDialog:setFocus();
してもダメでした。
どうすればQDialogにフォーカスできるのでしょう?
212 :
211:2014/08/12(火) 17:37:03.80 ID:4zCTBz8s
ごめんなさい、勘違いでした。動作していましたorz
Qt は少なくとも125人のフルタイムのサラリーマン開発者が、金融会社である
Digia に食わせてもらって作られているものらしい。
浦山
>>204 3DゲームですらC++は使わなくなって来ているからな。
後は組み込み制御ぐらいじゃない?
Qtで使えるボタンとかのコントロールの画像つき一覧とか無い?
Qt詳しい人に質問。
Qt4と5でかなりの変更があって4の本が役に立たなくなってるって事は無いよね?
test
4と5は9割以上同じだよ
221 :
デフォルトの名無しさん:2014/08/19(火) 04:00:37.27 ID:XgqkNTBc
オライリーのQt4の本見ながらQt5勉強してたけど全然問題なかったよ
もちろんサンプルコードでエラー出ることもあるけどそんなの少しggったら解決できるわけで
Win, Mac,Linux 共通ソースのアプリを作りたかったら、
Win32 APIは一切使えないよね。
つ #ifdef
>>220-221 d
大幅に変わってて4の知識が使えない状態だったら困るなーと。
ちょっと4の本読んで勉強してくる。
質問です
QObjectを継承したクラスをmoveToThreadでスレッド化してstartした場合は、クラス内のどの関数が呼ばれるのでしょうか?
最初にどうさする関数を指定することは可能ですか?
>>226 当然アプリのコードじゃなくて、
基礎部品クラスの中のメソッド内の中にifdefを閉じ込めるんだよ。
>>228 そういうんじゃなく、ファイル上で右クリックしたときのメニューとか、
デスクトップのショートカット、スタートメニューの登録、レジストリ、
インストーラー作成とアンインストーラーの登録、Office製品とのCOM
での連系、Macにはない右ボタン、中央ボタンへの対応、ドライブ文字、
My Document、拡張子、ファイル名の大文字小文字を区別するかしないか
などに問題が出る。
しかも、 Linux/Mac 対応を謳うにはLinuxやMac環境でテストする必要が
あり、大型プロジェクトでないと難しい上に、Linux版を作ってもOSユーザー
数から考えて売り上げが上がることはない。
Win7で動いてもWin8, Win8.1でも動くとは限らないので対応を謡うには
テストするのは常識だが、Linux/Macでテストするのは効率的ではない
上にあまり意味がないという・・・。
Qtに無い機能が Windows には存在しているような場合、諦めたり
Winの機能を使わずに自分で実装するのは問題。
中途半端な機能でプラットフォームだけを広げるのは戦略としては
間違いだと思う。
>>1 Adobe製品が挙がっているあが、PDF Reader も使いにくさには定評がある。
なんかネットワークインストールがネットワークエラーになりまくるんだけどなんだろうか・・・?
androidでQtを遊ぼうとしていて、GUIのガワだけをQtで作って、androidのCUIバイナリを操作しようと思ってるけど、そんなことできる?
root不要な方法がいいな。
アップルのSwiftみたいに、Qt専用のC++ラッパー言語を作れば?
Qt5、4からの変更点が何の説明もないから
修正方法がわからない
238 :
デフォルトの名無しさん:2014/08/22(金) 09:44:20.92 ID:+iNQPvFR
コンパイルが通ればOKだろ
240 :
デフォルトの名無しさん:2014/08/22(金) 17:16:36.60 ID:sPTA4a84
やっぱ、言語的にはC++が一番優れているな。で、開発環境?はQtが一番面白い。
最大の権力がQt育ててくれりゃ一番いいのにね。最大の権力ってなんだ・・?イオン?
ソフトバンクかな…
日本語の資料も欲しいな。
243 :
デフォルトの名無しさん:2014/08/23(土) 19:51:31.18 ID:jhJDW2qQ
Qtを使わないOpenCVを使ったプログラムを書こうと思って
QtCreatorで非Qtプロジェクトのc++プロジェクトで開始すると、
『'opencv2/opencv.hpp':No such file or directory』
↑と言われてライブラリが使えないんだが何が問題なんだろう?
試したら空のQtプロジェクトで開始した場合は問題ないし
エディタ上では波線も出ずincludeのとこにカーソル合わせたら正しいパスが表示されるんだが。
245 :
デフォルトの名無しさん:2014/08/26(火) 15:40:00.80 ID:6vO9nsBd
IDEで保持してるincludepathはリアルタイムで更新してないし
IDEの決め打ちでpathが追加されてることもあるんじゃないのか
246 :
244:2014/08/26(火) 15:58:24.76 ID:1b/gagII
なんでかわかんないけど上手くいくようになった…
全く持って原因が掴めないので気持ち悪いがレスサンクス
>>215 どのゲームを言っているのか知らんが、Flash で動くゲームは、
CrossBridge を使ってC++で書かれていることがある。
Unreal Engine 3を用いた Epic Citadel とか。
Qtの問題点は ライセンス。
LGPLじゃダメなん
LGPLって動的リンクなら君の書いた大元のソースは公開しなくていいよって奴だっけ
ライセンスってむずかしいね
静的リンクがダメという事はiOSアプリを作る場合は商用ライセンスじゃないとダメという事か?
そんな金があるんならiOS版とAndroid版両方作ればええヤンという話になるな
LGPLv2.1と今度導入されるLGPLv3の違いについて誰かkwwwwwsk頼む
数字が違う
Ubuntu14.04+Qt5のwebviewでYoutube再生させてシークした途端に
結構な頻度でプログラムが落ちるんだけど、これどうにかなりません?
なんか間違ってるのかと思ってQtCreatorのbrowserサンプルも試したが同じく落ちる
255 :
デフォルトの名無しさん:2014/08/28(木) 22:21:29.65 ID:LhIa/ABQ
デバッグしろよ
静的リンクでもオブジェクトファイルだけ公開すればソースの公開はしなくていいんじゃないの?
>>257 それは動的リンクの場合。
静的リンクの場合は自作のアプリ部分のソースも公開する必要がある。
>>249 ソースは公開しなくていいが、オブジェクトファイルは公開しなければ
ならない。なので、グローバルな関数名やclassのメンバ関数名は
丸見えになる。たとえ prtedted や private 修飾されていても。
特に後者は、mangling(マングル化)されているので demangling
ツールを使えば所属するクラスと引数の型名が完全に分かる。
demanglingツールは、Webで使えるものが公開されており、ブラウザに
mangling化された関数名を入れると、完全にdemaingling化された
名前を見ることが出来る。
誤:prtedted
正:protected
>>262 >>261の通りだ
静的リンクの場合はソースかオブジェクトファイルを公開する必要がある
なぜなら、ユーザーが元のLGPLのライブラリを改変して同じように実行出来る必要があるから
オブジェクトファイルを公開すればソースを公開する必要はない
ちなみに、そのオブジェクトファイルは外部にシンボルを公開する必要はないので
全部隠す事は可能
静的リンクは、アプリ部分のソースまたはオブジェクトファイルを公開する必要あり。
動的リンクは、アプリ部分のソースもオブジェクトファイルも公開不要。ただしリバースエンジニアリングを禁止してはならない。
>>264 静的リンクの場合は、ソース公開義務があるよ。
オブジェクトだけの配布で済むのは、動的リンクの場合のみ。
何もシンボルを公開しなければリンクできないので、実行ファイルが作れ
ない。
268 :
デフォルトの名無しさん:2014/08/29(金) 11:48:03.96 ID:+bkqIqnF
スタティックリンクのことを動的リンクだと思っているのか
>>266 http://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic (1) LGPLのライブラリに対し静的にリンクする場合、ユーザがライブラリを改変して
アプリケーションと再リンクできる機会のために、あなたは、あなたのアプリケーションを、
オブジェクト(ソースの必要は必ずしもありません)フォーマットでも提供する必要があります。
(2) ユーザのコンピュータに既に存在するLGPLのライブラリに対し動的にリンクする場合、
あなたは、ライブラリのソースを運搬する必要はありません。一方、あなたのアプリケーションと
一緒にLGPLのライブラリの実行形式をあなた自身が運搬する場合、それが静的、あるいは動的に
リンクされているかによらず、LGPLが提供する方法の一つでライブラリのソースを運搬する必要があります。
>>266 お前はWikipediaすら見ないのかよ…
> 静的リンクの場合は、ソース公開義務があるよ。
間違い
> 何もシンボルを公開しなければリンクできないので、実行ファイルが作れない。
間違い
0点
>>268 違うな
ソース公開する必要があると言ってる奴は、静的リンク(スタティックリンク)を理解出来てない
分かってない奴に分かり易く解説する
大原則
LGPLのライブラリは、そのライブラリを改変して再度アプリを実行出来る必要がある
アプリのソースを含めたライセンスは問わない
これだけ理解出来れば、静的リンクがソースを公開する必要があるなんて言わないはず
あー。スマン。
記憶が混乱してたわ。
・動的リンクの場合は、自分のアプリのソースやobjectは公開する必要が
無い
・静的リンクの場合は、objectまたはソースを公開する必要がある。
こういうことか。
>>269 動的リンク式で作ったアプリを公開する場合、
ライブラリのソースは同梱する必要があるんだっけ?
別の場所においておいてもいいんだっけ?
LGPLなライブラリを自分なりに修整して使う場合、ライブラリのソースを
配布する義務があるのは分かる。
ただ、アプリと同じ zip ファイルの中に含める必要があるのか無いのか
が分からない。
>>271 そういう技術的なことは良く分かってるよ。
ハイレベルな技術があると評されているから、客観的に。
278 :
デフォルトの名無しさん:2014/08/29(金) 13:15:55.17 ID:fu+Srt+b
いまだに性的リンクしたことがありません(><;)
>>277 ハイレベルって…
じゃぁGithubのアカウントとかなんか教えてくれよ、見てみるから
Qt5.3.1のOpenGLとGLEWを組み合わせたいと思って
とりあえずまず glewInit してから glGetString でOpenGLのバージョンを
拾おうとしてるんだけどどうも glewInit で初期化ができない
GLUTならウィンドウを生成後にglewInitを呼べばいいんだけど、
QtのQGLWidgetを使う場合どのタイミングで呼べばいいんだ?
ググった限りでは initializeGL に書けとあったのでそうしてるんだけど上手くいかないし
QGLFormatを親のQGLWidgetに設定しろってページも見つけたが
それをすると今度は initializeGL が実行すらされない。
とりあえず非Qtプロジェクトでfreeglut+GLEWの組み合わせでは成功したし、
GLEWを使わずにQGLWidgetで図形表示したりはできたんだが。
GLEW自体が使えないのだろうか?
281 :
280:2014/08/30(土) 17:50:40.83 ID:inSLv9hb
自己解決しました…
というか完全なウッカリなんだが、
OpenGL版を入れたつもりがANGLE版を入れていたようだ
いったいこの2日間はなんだったんだ
pthread_mutex_t mtxA
って宣言して
pthread_mutex_lock(&mtxA)
ってするとロックしたまま処理が進まないのは何ででしょうか?
他にスレッドは動いてなくて他にもロックしている箇所はありません
QMutex使ってみれば
タイマー使って定期処理したい場合はスレッド化するしかない?
moveToThreadが内部的にどんな動きをするのか詳しい人はおりますか?
moveToThreadの使い方を間違ってる人は多い
>>285 QObjectを継承したクラス内で
void classA::startProc()
{
QThread *testTh;
testTh = new(QThread);
connect(testTh, SIGNAL(started()), this, SLOT(動かす処理()));
testTh.start();
}
こんな感じでクラスAをメイン処理から呼んで、スレッド化してるんだけど根本的に間違い?
connectの下でmoveToThread(This)が抜けてました
QOBJECTマクロも抜けてるな
>>251 LGPLv3ではアプリのソースコードを任意の第三者に公開する必要があり、
製品にインストールするために必要なデータ、関連ソースコード、手順などすべてを伝える必要がある。
製品にインストールできないようにガードすることはできず、インストールできるように製品を作らなければならない。
>>291 ヘッダーファイルをインクルードしてもLGPLを適用しなくてもよいということ。
Qtは、Exampleのビルドでも遅い。
タスクマネージャーの数値からするとCPUを2 Coreとも使っているようだが、
それでもコンパイル速度がとても遅い。
SLOT, SIGNALなどのためのフロントエンドのコンパイルも入っている
からかも知れない。
linux か Windows か、gcc(mingw) か、VS かでも大きく違うけどね
もうじき clang 対応版も出てくるだろうから、
そこで全体的に大きく改善される、と期待はしてるけど
Androidのアプリ作ろうとおもたんだけどNDKのフォルダ認識しないな
For文でQActionに番号つけるってできる?
何やりたいのか知らんがQAction::setData使えばできる
>>293 Qt5ではsignal&slotでQt4よりもコンパイル速度が何十倍も遅くなる場合がある。
コンパイルが遅いだけでなく限らずウィジェットの動作も相変わらずおかしい。
マイナーバージョンが3でこんなのでは困ったものだ。
QMLしか考えていないのだろうが、それなのにQMLのドキュメントがスカスカで間違いがちらほら。
300 :
デフォルトの名無しさん:2014/09/08(月) 09:33:29.83 ID:TeBdDwHT
VCでコンパイルする
プリコンパイルヘッダを使う
これでGCCよりコンパイルが数倍早くなった
SIGNAL & SLOT の前処理以外に、gettext の前処理も入っているんだろう。
両方の処理時間がプラスされている。
そもそも、Qt5Widgets.dll のサイズが、4.17MB (5.61MBのものもある)
もあるのも、技術的にどうなのか疑問の余地がある。
(ちなにみ、デバッグ情報を含む Qt5Widgetsd.dll は、136MBもある。)
FLTK は、GUIアプリの最小サイズを170KBに出来る(VC++でコンパイルした
場合)。もちろん静的リンク版なので、これ以外に外部から読み込んで
来るFLTK由来のライブラリ(DLL)はない。
最後の部分、厳密には、FLTK由来のライブラリ(DLL)だけではなく、Windowsの
システムDLL(kernel32.dll, gdi32.dll, usr32.dllなど)以外は何もない。
システムDLLは、どんなnativeプログラムも必ず読み込むもなので、避ける事は
できないし、サイズとして考慮すべきものでもない。
304 :
デフォルトの名無しさん:2014/09/10(水) 07:59:42.44 ID:mb834HPh
小さくする気がない。
DOTNETや、MFCなんかも、ランタイムはデカイ。
MFCは、静的リンクすると330KB。
Qtに比べると小さい。
1つ目は、程度問題。330KBなら問題なくても、最小サンプルでも
1MB超えるなら問題。
2つ目は、サイズを小さくする気がなくても 4.17MBにまでなって
しまう人たちの技術の程度が知れるということ。
307 :
デフォルトの名無しさん:2014/09/10(水) 08:29:41.03 ID:7co1VTAv
君はQtのことを知らないようだけど
widgetを動かすための必須のDLLは
QtCore.dll QtGui.dll QtWidgets.dll で 合計 11MB
icudt51.dll (21MB) も今のところ必須で
さらに細かい必要なDLLがいくつかあるので最小配布サイズは
合計 40MBくらいになるはず
308 :
デフォルトの名無しさん:2014/09/10(水) 08:32:11.56 ID:7co1VTAv
Qt5 から icudt51.dll(21MB) が必須になったが
少なくともこれが無くても動くようにしてもらいたい
309 :
デフォルトの名無しさん:2014/09/10(水) 08:40:29.03 ID:7co1VTAv
.NETみたくライブラリを事前にインストールする形にするのがいい
Qtアプリを起動する際に
必要なライブラリのバージョンをネットワークインストールするダイアログを出して
アプリの配布サイズを最小にするというようなやり方もありなんじゃないか
それだったらライブラリのサイズが肥大化しても気にならない
それだとダウンロードしてきて、すぐ使えない。
まあ、OSSなソフトは似たり寄ったりだが。
311 :
デフォルトの名無しさん:2014/09/10(水) 08:48:07.12 ID:7co1VTAv
>>309 これをするためにはまず
ライブラリのDLアドレスが書かれた定義ファイルを
同じURLで維持出来ないといけない
維持することを約束してくれるなら
公式じゃなくて有志がそういう仕組みを作成できるようになる
それである程度の動作実績積めば公式で採用してくれるかな
312 :
デフォルトの名無しさん:2014/09/10(水) 08:54:02.71 ID:7co1VTAv
配布サイズが小さければ
とりあえずアプリダウンロードしておくかとか
ユーザーがダウンロードするハードルがぐっと下がるかもしれない
今もまだライブラリのサイズ増加の最中だから
サイズの不満に対する声がどんどん大きくなっていくと思う
それはそうと、グラフィックエディタのツールパレットなどが、エディタ本体
のウィンドウより常に前に表示されているのは、「Owner(Owned) Window」の
機能を使っている。これは、子ウィンドウではないが、親ウィンドウに所有され
ているウィンドウ。かなり便利で無いと困るが、Qtでは作れないのではないか?
wxWidget の場合、style に wxFRAME_FLOAT_ON_PARENTを指定して wxFrameを
作成すると作れる機能があるが、Windows と GTK の場合に限定。
Qtは、GTKとは別陣営のKDE系だよね。
315 :
デフォルトの名無しさん:2014/09/10(水) 10:33:50.91 ID:7co1VTAv
親にしたいウィンドウをQWidgetの親に設定し setWindowFlags で windowフラグを立てるとwindowとして独立する
設定する順番とかも重要だった気がする
あらゆることはできるが入り組んでいるので自力で見つけるのは難しいだろうね
316 :
デフォルトの名無しさん:2014/09/10(水) 10:51:43.07 ID:mb834HPh
他のGUIスレにいたやつと一緒だろ
>>315 独立した後、ちゃんと、親よりも手前に成り続けること出来るの?
例えば、親をクリックした時、親よりも下に成って隠れたりすることは
有る無いか。
>>309 それって、Qt系のライブラリを一切使わないアプリを別途作る必要がある気が
まぁでも、実際に利用するアプリは動的リンク、
インストーラは別途静的リンクでアプリを作るのもあり・・・か?
319 :
デフォルトの名無しさん:2014/09/10(水) 22:49:40.40 ID:oypds7bC
mayaとかunityの右側よろしくグループごとに開閉できるのってどうすればいいと思う?
ファイルサイズ云々で満足を得るのはプログラマだけ。
エンドユーザーはそんなものどうでもいい。
「これ使うにはこのランタイムの別途インストールが必要なんです」
「仕様が少し変わるため、このモジュールのバージョンアップはしないでください」
そんな煩わしいのより、多少大きくても一枚岩で動く物の方が安心感を与える。
>>320 結局、エンドユーザーは、静的リンク版が欲しいと言うことだね。
LGPLは、静的リンクを回避したがっているライセンスなんだけども。
322 :
デフォルトの名無しさん:2014/09/11(木) 08:19:25.77 ID:XCoc4L/O
>>「これ使うにはこのランタイムの別途インストールが必要なんです」
>>「仕様が少し変わるため、このモジュールのバージョンアップはしないでください」
自動で管理できるからユーザーは何も考えなくてもいい
バージョンアップしようが仕様も変わらない
つまりサイズが小さくなっただけで利便性は変わらない
ライブラリのサイズがでかいということは、ライブラリを自分好みに修正した
場合に莫大なビルド時間がかかると言うことでもある。
>>322 >つまりサイズが小さくなっただけで利便性は変わらない
Linuxではシステムに最初から共有ライブラリとして入っている事
が多いが、Windows だと自分で配布することになるからトータル
ではむしろ大きくなる。
というのは、静的リンクした場合は library の中から必要な object
module だけがリンクされるが、動的リンクする場合は全ての
object module が dll の中に含まれてしまっているため。
つまるところファイルサイズなんて関係ないんだって。
客に、今まで実行ファイルが2Mだったのを努力して500kにまで下げました!
っていっても、ふーん。で終わるだろ?
そういうのはプログラマだけが嬉しいんだって。
>>326 小さいと嬉しいより、大きいと恥ずかしい。
頭が悪いのに、膨大な時間を掛けて作っただけなんじゃないかと
思われる。
あと自分は何もプログラムしてないのに、最初から40Mというのは
かなり困る。
お前が恥ずかしいと思ってるだけじゃないか
本当にくだらないな
頻繁にアップデートをしていて、過去のバージョンも全て公開しておきたい場合に保管場所に困る
クロスプラットフォームなソフトウェアなら尚更酷いことになる
あとオンラインインストーラが20MBもするというのは最早笑い話
>>329 これが馬鹿にする人がいるんだな。プログラマの中に。
>>330 さらに、ネットは、アップロードがダウンロードより遅いので、
40MB もアップロードするのは大変だ。
>>330 オンラインインストーラと言えば、cygwinのもapt-cygコマンドに
比べて遅いので使わなくなった。
検索などをすると、重すぎてインストーラが途中でとまってように
なってしまことがある。しかも、その間プログレスバーなどが全く
出ない。インクリメンタルサーチの途中でこうなった時には、
物凄くだるい。
HDDがTBの時代に
ケソケソ40MBがどうこうとか・・・
圧縮すれば10Mbyteぐらいに収まるだろ
差分保存だけではなく、単純なバックアップが大事だがその際、バイナリの
でかさのせいでバックアップに時間がかかるし、HDDの容量は食うしでろくな
ことない。
専用のHDDを用意して専用のWebサーバを用意すれば何の問題にもならないわな
問題はそこじゃなくて、そういう風に使い方に制約が生じてしまうこと
重いからゴミということではないけれど、選択肢から除外されてしまう要因になり得るのは事実
1つの*.exeだけで構成されるアプリの場合、同じフォルダに*.dllを
置いておけばいいが、100個の*.exeで構成される場合にフォルダを
分けて置いておきたい場合などに面倒なパスの問題が生じる。
どのexeがdll使うか決まってるなら
loadlibrary("..\\hoge.dll")
でうまくいく
342 :
デフォルトの名無しさん:2014/09/11(木) 18:25:48.16 ID:B9XuwzL8
サイズが問題無いと思うなら
qt本家が無料で容量無制限でアプリ配布するサーバを貸し出せよ
この時代にケチる奴は馬鹿って言ってるんならそのくらい用意しても構わないだろ
来た挑戦
>>341 単純に import library をリンクした場合に、DLLのパスが検索されるのは、
アプリの main() や、crt start up routine に来る前だよ。
端的に言えば、アプリが開始されないので、LoadLibrary() 文が実行できない。
その昔、Visual C++は、Standard版とProfessional版の違いの一つ
は、ライブラリを静的リンクできるかどうかだったんだべさ。
金払ってでも静的リンクを好む開発者がいるって事だよ。
DLLがデカい→静的リンクしろ→LGPLに汚染される→動的リンクにしろ→最初に戻る
海外のサイトで、LGPLが静的リンクを禁止したライセンスだというのが、
一般認識であるかのような言い回しを見つけた。
GPLにして静的リンクするか
金払って静的リンクしたバイナリ配布すればいいだろ
こいつはさっきから何が言いたいんだ
>>349 その二つはどちらも、非現実的な選択肢だ。
GPLにするのも金を払うのも現実的な選択だろ…
LGPLは嫌だ
でも静的リンクしたいってアホか
ガキじゃねーか
どうリンクするかなんて、その時々で変わるだろ
静的リンクがおかしいとかっていう方がおかしい
>>351 どうしてQtを使うことを絶対視しているんや?
使い始める前に、メリット、デメリットの検証している段階の人もいる。
致命的問題点があれば使わない。
それに、金って、いくら必要か知ってて言ってるのか?
年間数十万円だよ。
Qtを使わない選択をする人がこのスレに何しにくるんだ
dllでかいのが問題なら小さいdll作ってそれにリンクすりゃいいだけの話
そんなこともできない人が検討中だの致命的な問題だの言うのはちゃんちゃらおかしい
金がないんなら簡単ではない方法を使って自分でやるしかないわな
静的リンクじゃないとヤダヤダ言ってる暇があれば手を動かせ
まさに臭いものに蓋をする発想だな
オープンソースは誰かが臭いものを片付けてくれる機構じゃないぞ
臭いものを隠してしまうよりは臭い臭いと騒ぎ立てる方がよっぽど建設的だろ
臭いものを臭いと認められない奴こそ足を引っ張っているだけだから他所に行け
馬鹿に説明してあげる義理はないです
騒ぎ立てるだけで何もしないのは建設的なのか?
別に臭くないなんて言ってないし
臭くても近寄らないから俺は困らないしな
バグ報告しかしない人はプロジェクトに貢献してないなんて言う奴おらんだろ
何もしないってのは隠したり見て見ぬフリすることだよ
プログラミング経験ある人ならそれくらい知ってそうなもんなんだがな
バグでもそれが意味のあるバグかそうでないバグかがあるだろう
dllがでかいことはバグなのか?
俺はそうは思わないから意味のないバグだと思うんだろう
意味のないことを騒ぎ立てるから、そんなことはお前が何とかしろって思っている
自分がやる気がないのか他人にやらせようとしているから不快に思っていたんだろう
お前が意味がないと思ってるだけじゃないか
本当にくだらないな
単にユーザー視点、第三者視点に立つ力が乏しいだけだと思う。
ニーズ調査もロクにしないで突っ走った結果が今のQtなのにまだこんなこと言ってる連中が居るんだな
それも一方のニーズであって、他方のニーズは満たしてるよ
まぁ理想的な展開ではないと思うけど
ってか、Qt は度々買収されて
思想や方針も転々としてて損している気がする。
Ubuntuが買収すればいいんじゃないの?
Ubuntu Phoneで使われているわけだし
ubuntu は Linux 界隈じゃかなり迷走してるしなぁ
Qt や gtk とかいったツールキットは、
Wayland と Mir の争いにもろに影響受ける部分だし
ユーザーを取り込んでくれたことはいいことだが・・・
今マルチプラットフォームで開発しようとしたらC++だとQt以外なんかあるのか?
WindowsとLinuxで開発する立場からするとQtはかなり助かっている。
>>372 wxWidgets が CodeBlocks でなかなか使える。
CodeBlocks内臓の wxSmith がそこそこ使えるから。
IDE なら codelite もあるでよ
ただ、いかんせん wxWidgets はドキュメントが乏しかった印象
>>374 wxWidgetsのドキュメントが乏しいのは、CodeLite の場合に限った場合では。
CodeBlocks で wxSmithで使って Widget を配置するチュートリアルは
結構充実してたよ。
CodeBlocks + wxSmith + wxWidgets の組み合わせは、YouTubeで、
チュートリアル動画が結構あるね。
>>375 ここで宗派を争うつもりはないぞ、念の為w
wxWidgets と Codelite を使ったのは同時期じゃないんだ。
マルチプラットフォームで開発できるツールキットを探していた際、
wxWidgets と Qt が最終選考まで残った。
その時の比較で、Qt と比較してのドキュメントの差を感じた。
それとは別に、その数年後、軽量な IDE 環境はないか探していたところ、
Codelite と CodeBlocks が浮上したけど、
軽量さと、Visual Studio 6.0 風の U/I なので古いオッサンにも薦めやすく、
Qt も本格的に対応してて、むしろ QtCreator より使い勝手のよいと思えたのでこっちを選んだ、って感じだったな
時系列をごちゃまぜにしてスマンカッタ
そういや、wxWidgets は、今は多言語は安定したのかな?
選定当時は、多バイト文字入れるだけですぐ不安定になってた記憶。
>>377 多言語の安定性は試してないので分からないが、
gettext() には対応してるよね。
379 :
デフォルトの名無しさん:2014/09/12(金) 21:07:31.17 ID:Fz05OnUk
>>354 作ったアプリで儲けるのだから安いものです。
その反応は自治厨と揶揄されてもおかしくないレベル
382 :
デフォルトの名無しさん:2014/09/13(土) 07:48:11.09 ID:CAfEAxmE
>>379 Qt本家は、125人以上の開発者を抱えながら、10億円の売り上げさえ達成できないでいるよね。
それに、シェアウェアのほとんどがVSがまだ3万円くらいで買えたときでさえ赤字だし。
さらに言えば、日本で最も売り方の上手いパッケージソフト販売会社の
SOURCENEXTは、100本のソフトを売りながらも最盛期で103億円/年程度、
2008年以降50億円/年にまで落ち込んで今に至る。今はソフト数を500本
に増やしているが売上は余り変わらない。増やした400本はほとんど売れて
ないということなんだが。
ちなみに、2,500円のパッケージソフトの場合、箱と光学メディアの印刷、コピー、パッケージング代に
最低でも700円くらいはかかる。販売店にも採集価格の3割は払う必要がある。故に原価を除いた収入は、
売上の 2.5分の1くらいになるはずで、相当苦しい状態だ。
385 :
デフォルトの名無しさん:2014/09/13(土) 10:59:12.03 ID:1e4uTdyf
QtはWindowsXPでQtQuickを開発できない・・
Win7の中古PCも実用でつかえるのが\19,800まで、落ちてくるのにもう少し・・・
我慢したかいがあった。
>>385 『2万切るまで(年単位で)待つ』なんてもったいなさすぎるぞ・・・
自己投資だと思えば、ましてやほぼ毎日使うようなもので数千円の差なんて、塵芥
387 :
385:2014/09/13(土) 13:58:27.72 ID:1e4uTdyf
>>386 無職なんで・・・ Core2Duo、メモリ4GBのが25,800なんで、あと5千円です。
388 :
385:2014/09/13(土) 13:59:09.45 ID:1e4uTdyf
働きたくても、働けないんです(´・ω・`)
生活保護って家賃で消える?
家賃貰えるだろーが
2万もあればcore i5かcore i3が買えるじゃん
xeonならcore i7相当が手に入るぞ
>>382 Nokiaが自社の携帯電話にQtを利用するために囲い込み目的でLGPL版を出したけれど頓挫。
結局はただで使うだけの企業だらけで採算がとれなくなっているからだよ。
アプリのソースコードを開示したくないなら費用を払って商用版を使えばいい。
アプリが売れればそれぐらいの費用は回収できる。
費用を払いたくないならLGPLでできる範囲ですますか、GPLでアプリのソースコードも開示して使えばいいじゃないか。
費用も払わずアプリのソースコードも開示したくなくてアプリで儲けたいというのはむしがよ過ぎるだろう。
古くて頭の硬い考え方だとは思うけどな
アプリだけって話なら、たとえC++しかノウハウない人でも、
ライセンスがめんどくさいぐらいなら、
他の言語も含めて、開発環境考えなおす
今は選択肢も多いし、他言語を選ぶメリットも十分にあるからな
なんかChromiumベースになるような。
AndroidはWidgetベースでもネイティブUIになるのかな。QtQuickやらないといかんか。
396 :
デフォルトの名無しさん:2014/09/15(月) 19:36:05.12 ID:MDPEUQxU
今はじめたばかりであれなんだが、
シグナル/スロット
ってやつで、ボタンとかの動きを全部構成すんの?
デザイン中にボタンダブルクリックしたら、
void ボタン::クリック(引数)
{
//ToDoここに処理を記述うんたら・・・
}
みたいのが出てくるかと思ったらなんか違うようなので・・・。
ボタンに限らず、イベント発行=シグナル、イベント受理=スロットと考えればいい。
connect (発行元クラス, SIGNAL(シグナル名), 受理先クラス、SLOT(スロット名))
でイベントを繋げる。
クラスの縦方向の親子関係をオブジェクト指向のキモだとすれば、
クラスの横方向のイベント通知が、シグナル/スロットの売りかな?
ああ、デザイン使っての話か。
仕組みは↑の通りだけど、
デザインを使っての開発には不慣れなので適切な回答じゃないと思う。
後を頼む。
400 :
デフォルトの名無しさん:2014/09/16(火) 20:09:38.66 ID:c0zqQ2NF
QWidget単位に各パーツのロジックを記述してくっつけるわけかな?
英語あってんのかわからんちけど
VBでいえば
Form
にイベント関数が一切ないものとして、
自分でFormのプログラミング画面に、コマンドボタンやらラベルやらリストやら全部のコントロールのロジックを記載するイメージ?
5.3.2出たな
今度こそスンナリAndroid開発できるかな?
QwtPlotの
QwtPlotItemの派生物って、
QwtPlotがdeleteされたら一緒に消えてくれるのだろうか?_・)
それともキッチリdeleteすべき???
>>402 それくらい自分で試せばわかるだろ能無し
>>393 ただなものですましたいという浅はかな考えだな。
Windows NativeのWindowだけを使っている場合、MSのSpy++を使えば、
Window 階層が見えてデバッグには重宝したけど、Qtだと独自描画している
ので、そういうツールが使えず苦労することがありそうだね。
デバッグ時に「このウィンドウの ID 番号が知りたい」と思った時に
さてどうするかだ。
OS の Window Object を使わずに、グラフィックのDrawRect()みたいな
物を使って Widget を描いている場合、外部ツールでその Widget の
特性を見たりするのは困難かもね。Spy++ は、どんな Widget でも
HWND の値を表示することが出来たから、デバッグ表示で HWND を表示
すると対応関係が分かって便利だった。というよりそういうことが出来ない
とすると困ったことがおきそうだ。
410 :
デフォルトの名無しさん:2014/09/18(木) 20:32:07.93 ID:ot8C9XJ5
Qtのライセンスがよくわからんのやけど
会社内だけで使うシステムには使えないの?
>>410 LGPLで使うなら社内とか個人使用ならソース改変再コンパイル制限なしじゃなかったっけ?
静的リンクしてもいいんじゃない
絶対にその後に売ったりしないなら
>>410 基本的に、ソフトを使う人(ユーザー)に対してソースコード公開するのが義務と考えて。
社内で使うならユーザーは社内の人間だから、外部にソースコード公開する必要はないね。
>>411の言う通り、外部に売るなら動的リンクにしないとまずいけど。
確か、一旦 LGPL として運用したソフトは、後で商用版買って、
ライセンス切り替えるのはダメって話を、数年前のスレで見たな
まぁ、完全社内用であれば、それこそ GPL 運用でも構わんと思うが
>>409 QWidgetのヘッダーファイル見れば分かる。
社内がホントの仲間内ならライセンスも何も誤魔化しとけばいいだろう
誰か一人でも外にぼやいたらアウトだけど
>>414 あなたは全く分かってない。
Spy++ の事全く知らないで言ってるよね。
いつものキチガイだろ
次はお前がいかに無知で役立たずな人間かと煽りだす
>>418 お前ほど無知で役立たずな人間は今まで生きてきて見たことない
>>420 お前は何も知らない。自分より遥かに物知りな人間を相手にして、
自分の無知さに気づかずに相手を馬鹿だと思うタイプなだけだ。
きっと、Spy++ 相当のことは Qt を使っていると出来ないんだ。
Spy++ が何が出来るか知らない人が
>>414 みたいな的外れなこと
言ってるだけ。
424 :
デフォルトの名無しさん:2014/09/19(金) 14:39:21.93 ID:/xWhVtiH
Linux環境でアプリを実行中にアプリから再起動する方法ってありますか?
再起動するのはOSでもアプリだけでもどちらでも構いません
execl(argv[0], argv[0], NULL);
system("/bin/reboot");
>>426 ありがとうございます
1行目の処理の意味はなんでしょうか?
アプリ自身を再起動。execlp()の方がいいかな。
>>421 Qtを知らずにSpy++を持ち出して、そんなものはなくてもいいということを知らない無知さ加減に呆れる。
>>423 Spy++なくてもできているから要らないんだよ。
>>429 画面上のWidgetのID番号またはアドレスを取得する方法があるのか、
ということなんだよ。ヘッダファイル全く関係ないじゃないか。
馬鹿ですか?
431 :
デフォルトの名無しさん:2014/09/20(土) 10:03:52.21 ID:hHR+xKxu
自己紹介乙
自分でプログラムして解決しろってんじゃ駄目だよ。
最初からツールがあるかどうかが大事なんだ。
「開発環境」という言葉の意味を良く考えなきゃ駄目だ。
434 :
デフォルトの名無しさん:2014/09/20(土) 10:08:40.39 ID:hHR+xKxu
>>433 コンパイルするだけだからプログラミングする必要がない
コンパイルも出来ない奴がQt使うってどういう馬鹿だよ
>>434 方法があるなら、どうやればいいのか、言葉で言えよ。
言えないなら無いのと同じことだ。
それとも、説明力や言葉の表現力が足りない人なのか?
そういえば、小保方もそうだったな。
自分だけが特別器用だから出来て、他の人は下手だから出来ないって
主張し続けて、じゃあどうやったらいいのか言葉で説明してくれと
頼んでも説明しなかった。
結局、出来る出来ると言いながら、その具体的方法を言葉で説明できない
のは、本当は出来ない事が多いんだ。つまり、嘘の確率が高い。
437 :
デフォルトの名無しさん:2014/09/20(土) 10:30:22.38 ID:hHR+xKxu
>>436 嘘で結構、俺は困らないし
お前が馬鹿晒してるのを楽しむだけ
お前は小保方のように相手を自分の都合のいいように動かしたいらしいが
俺のように無責任に相手を罵倒できるやつには相性が悪いな
俺は絶対に都合のいいように動かないから
mingwスレであほなこと言ってる人と同一人物だったか
もしかしてwxWidgetsスレの共助クンもか?
439 :
デフォルトの名無しさん:2014/09/20(土) 10:47:11.09 ID:rG/se8i2
出来ないなら黙っていれば良いものを…
440 :
438:2014/09/20(土) 11:05:25.09 ID:lf+hv4MZ
ID:DYEa41x5 のことね
馬鹿には無理
やっぱり、この界隈は馬鹿ばっかだな。
馬鹿かどうかはともかく、コミュ力が無いやつばかりだな……
本当に知ってるならすぐ言えることなんだよ。
言えないってことは、本当は知らないって事。
だからキチガイに構うなって言ったろ
こいつは知っててあえて言わずに煽るksなんだよ
なんかごちゃごちゃ言ってるけど、
>>431じゃダメなのかよ
なんだ、また愉快犯が医療用のX線測定器のリンクを誰かが張っただけだと
思ってた。
頼むから、リンクを書いて「馬鹿には無理」なんて書かずに、ちゃんとした
言葉を書いてくれ。意味がある「文書」をな。
その前に
>>431に教えてくれてありがとう、じゃないのか
その前に
>>424にもありがとうって言えよ
ここは質問スレじゃないんだからちゃんとした形式で答える義理はない
xvideosでエロ動画流しながら毎日作業してる
人に何と言われようが知ったことではない
>>448 「馬鹿には無理」
と書いてあるので、一切の礼儀は必要なし。
書くほうが悪い。先に礼儀を失したのは彼だ。
そもそも、「ありがたい」とは全く思わない。
Qtには、Spy++相当のことが出来ないんじゃないか、と指摘したことに対して
何か情報が書かれたとして、こっちは有り難いとは思わないのは当然。
453 :
デフォルトの名無しさん:2014/09/21(日) 12:20:11.62 ID:Gd2LPy9W
PyQt勉強してみたいと思うんだけど、
でんわの通信技術やチャット機能を除いたような一般的なGUI部分を実装するのって難しい?
サンプルやってみただけだけど、Skypeのようなのを実装するにはなかなか大変そうに思えた
独自GUIならQtQuickの方が良さそうかな。
仕事でQt使ってる奴はフォーラムにいるしな
ここにいるのは素人の馬鹿ばかりですよん
同意します
457 :
名無しさん:2014/09/24(水) 17:03:10.15 ID:Qh5bz0XT
素人どころか初心者ですが、
QtでのデザイニングはHTML+CSSと比べてどうですか?
やはり大変でしょうか?
>>457 似たようなもんだ。やってみれ。勉強にはちょうど良いと思うよ。
C++も米村貴裕の本読めば、すぐわかる。ポマエのような独学初心者(特にHTML/CSS派)には、ちょうど良い。
他の文法書なんかむしろ読まない方が良い。
ウィンドウの配置というか描画が終わってからボタンを配置したいんだけど
どうすれば描画が終了したことがわかるんだろうか
QtCreatorってD&Dでプロジェクトにファイルの追加ってできないの?
普通に開かれるだけなんだが
>>459 showEventをオーバーライドする手はありまつ。
462 :
デフォルトの名無しさん:2014/09/29(月) 09:10:42.58 ID:8S83XTBY
QMetaObject::invokeMethod()
で関数実行すればアイドル状態になった瞬間に実行されるんじゃね?
>>460 まるちぷらっとふぉーむのGUIに細かい制御を期待してはあかん
httpサーバに接続してポストするってどのようにすればいいのでしょうか??
>>464 ごみレスになったらスマンが、Qtでどうやるかは知らんが、一般論的には、
Socket を使って、HTTP REQUESTやRESPONSEを処理することになる。
それを処理するライブラリも色々あるはずだが。
>>463 「
>>460」に関して言えば、QtCreatorの「作り」の問題。
D&Dすると「普通に開かれる」のであるなら、プロジェクトへのファイル追加
とするのも、プログラムしだいで可能なはず。
>>464 サンプル見たほうが早い
Qt5.x.x/Examples/Qt-5.x/network
以下にうじゃうじゃある
assistant の使い方になれるのも、Qt 理解への近道
>>465,467
ありがとうございます
色々見て試して学んでみます
ちなみにQt5.x.x/Examples/Qt-5.x/networkはどこを見ればいいのですか?
マイコンピューターの中
>>461 >>462 ありがとうございます。試してみます
>>471 タイル配置のボタンを作っているのですが
動的にボタンの追加を行うときにサイズをウィンドウに対してMAX1/4にしたくて
ウィンドウサイズを取得しようとしているのですがコード中で最大化したときに最大化した状態のウィンドウサイズではなく初期のウィンドウサイズが取得されてしまうので上記のタイミングでボタンを配置したいと考えていました。
QWidgetとかにeventFilterを入れた場合、
eventFilterの戻り値は、処理したらtrue、通常のイベント処理に流す場合はfalseですよね。
QWidget::eventをオーバーライドした場合の戻り値って、どういう意味なんでしょう。
上記と同じでしょうか?_・」
>>473 ありがとうございます
リンクのページをよく読んで勉強してみます
QScrollAreaで、
一旦スクロールを停止するってことは、
できるのでしょうか?
>QEvent::TouchUpdate
をキャンセルしたいのですが可能でしょうか?
TouchBegin後にsetAttributeしてもQEvent::TouchUpdateは止まらないみたいです。
eventメソッドをオーバーライドして、
ignoreコールしても、
return falseにしても、
ウィジェットが動いて(震える感じ)いしまいます。
TouchEndを動作させれば良いのでしょうか。
にしても、Touchイベントの実体がイマイチどこにあるのか分かりません。
478 :
デフォルトの名無しさん:2014/10/03(金) 09:25:28.18 ID:xHe5s0n7
return true でキャンセル
QCoreApplicationのevent() が一番最初に実行されるから
そこで無視させるのが確実なのかな?
479 :
477:2014/10/03(金) 09:30:59.76 ID:02SDzdMz
ウィジェットのeventじゃなくて、Applicationのeventでキャンセルですね。
Windowsのメッセージフックよりやりやすそうですね。
初歩的な事を教えてください
プロジェクト作成時にmainがあってその中の
QApplication a(arg, argv);
return a.exec()
この二行の意味はなんでしょうか?
mainの中で無限ループが無いと、アプリが一瞬で終わってしまいます。
→無限ループをアプリケーションオブジェクトにsれば良いんじゃね?
→QApplicatioinオブジェクト。
で、無限ループを起動どうしよう。。。
→exec()メソッド。
>>481 ありがとうございます
ということはメインに無限ループがあればreturn 0で問題ないってこですね
CUIやゲームプログラミングは出来るのですがGUIはどこにどうやって書くのか全くわかりません
そういう人向けの本やサイトはありますか?
アプリ全体のクリックイベントを取る方法はありまつか?
yes
488 :
デフォルトの名無しさん:2014/10/06(月) 10:00:08.88 ID:orLgJkgQ
>>486 QApplicationのevent()
>>485 > c++がいいのでQtがいいです
3Dでないゲームを作りたいのなら、cocos2d-x って選択肢もありますよ
普通に考えてwidgetの使い方が分からんって話だろ
テンプレに本も載ってるし入門程度ならググれば日本語のサイトがいくつも見つかる
そもそもリファレンスのGetting Startedは読んだのか
情報が少ないとは言ってもあるところにはあるんだからまずは自分で探せ
QNetworkAccessManagerのpostを使用してレスポンスを待っているのですが、一定時間を過ぎたら受信待ち状態を解除したいのですが方法はありますか?
ありまぁす
200回は成功してまぁす
>>491 QNetworkAccessManagerにタイムアウトの設定はない
QTimerを使って自前で実装する
試してないけど
関係するクラスのclose()みたいな関数や
disconnect() 使って実現できないならQtのバグ
そもそもそんな関数知らんっていうなら
Qtの入門解説サイトを全部呼んで
クラスリファレンスを見るように心がけるしか無い
調べてタイムアウトの設定がなかったのでQTimerを使ってタイムアウトを監視するよにしました
しかしタイムアウト後にまたpostしようとすると受信状態のままになっているらしくリクエストが送信されませんでした
という状況なので質問させてもらいました
最終的にはQNetworkAccessManagerをdeleteしてnewし直すってちょっと強引な方法でどうにか?なりました
ありがとうございます
情報を小出しするなよ
QNetworkReply::abortを使え
>>498 QNetworkAccessManagerのfinishedをコネクトしてデータ受信してるんですけどその場合は変更が必要ですよね?
QNetworkReplyのfinishedにコネクトするってことですよね?
それでタイムアウトしたらabort
finishedにコネクトするならどっちにコネクトしても一緒でしょ
ところで試したことないから知らんけど、そもそもレスポンスがないときにfinishedは呼ばれるの?
>>500 レスポンスがないとfinishedは呼ばれないです
manager = new QNetworkAccessManager(this);
QObject::connect(manager,SIGNAL(finished(QNetworkReply*)), this,SLOT(replyFinished(QNetworkReply*)));
void post{
QUrl url;
QUrlQuery params;
QNetworkRequest request;
request.setUrl(url);
manager->post(request,params.query().toUtf8());
// 受信待ち
// タイムアウト監視
}
void replyFinished(QNetworkReply*reply){
if (reply->error() == QNetworkReply::NoError) {
QString strReply = QString::fromUtf8(reply->readAll().data());
}
reply->deleteLater();
}
現状こんな感じのコードです
受信を停止しないと2回目以降postしても送信されないです
QNetworkReply でabort()してdeleteLater()すりゃいいんじゃね
使いたい人が自分で試すしかないよ
他人がわざわざコード書いて実行して動作確認する手間は掛けてくれない
レスポンスがないとfinishedが呼ばれないなら、finished以降の処理は正常終了のみでしょ
タイムアウト処理とは独立しているからコードの変更は不要なはず
肝心のタイムアウト処理のコードは省略されてるから何とも言えん
QtCreator のエディタ設定で、
インデントをスペースじゃなくタブにしたいのにうまく行かない
Tools -> Options -> TextEditor -> Behavior の
Tab policy: Tabs Only
じゃダメなのかえ?
そのすぐ上に書いてあるはずだが、コードのインデントはC++かQt Quickの項目で変更する
d
じゃあ、この項はどこに反映されるん・・・?
クラス名とかは割と直感的なのに、
QtCreator の使い勝手は正直褒められたもんじゃないなぁ
それとも、使いこなせば一線級のIDEになるんかね?
それはならんだろ
vim使え
2014年にもなつて開発にただのエディタはないわ
じゃあ有料エディタで
わあ面白い。センスあるね。
いつか、会社のシステムをLinux化してやろうと目論んでいるので
移行に際して、プログラマの確保が比較的用意な.Netを使おうと思って、MonoDevelopを使ってみたが。
まさかの、使い方がよくわからんっっw
解説ページも日本語も当然なく、英語も案外まともにない。
こりゃアカンと判断し、Qtに戻って参りました。
Xamarinってどうなんやろね
514 :
デフォルトの名無しさん:2014/10/13(月) 09:10:48.86 ID:iUH6VxYJ
シンプルなCでのHello Worldのスケルトンが生成されて、それをビルド&ランしたら
Cannot change to working directory
で動かないwなんこれww
rootにしてやってみても動かないwww
環境がわからんけど権限がないとえすぱーしてみる
ビルドするたびに開いてた開発中のアプリケーション落とさないと書き込みできないとかって出るけど、
修正前の挙動と修正後の挙動比較できなくて不便なんだが
そこら辺、多重起動みたいなことする方法ってないの??
古い方の実行ファイル適当にリネームしとけば?
>>517 それやるとQtのライブラリを実行ファイルのあるディレクトリに置いとかなきゃいけなくなるからなぁ…
Pythonだからか知らんけど、PySideはそこら辺更新する度いくらでも多重起動できて便利なんだが
インタプリタなんだからそりゃそうだろ
少しは頭使って考えろよ
PATH通しておけば?
ある座標(x1, y1)を中心に持っていくには、
QScrollBarに何をsetValueすれば良いのでしょう?
maximum値が関係ありそうなところまでは、突き止めました。
class Console : public QPlainTextEdit
{
Q_OBJECT
void Console::putData(const QByteArray &data)
{
insertPlainText(QString(data));
QScrollBar *bar = verticalScrollBar();
bar->setValue(bar->maximum());
}
523 :
デフォルトの名無しさん:2014/10/17(金) 17:36:40.36 ID:daE1z7VZ
Ubuntu14.04.1 LANG=ja_JP.UTF-8
Qt Creator 3.0.1
Based on Qt 5.2.1(Gcc 4.8.2,64bit)
Build on Apr 9 2014 at 09:12:59
PostgreSQLへアクセスしてデータをLineEditへ表示するテストプログラムを作成しています。
全角カタカナだけ、豆腐文字になってしまいます。
それ以外の漢字、ひらがなはうまく表示されています。
QDebug()に出力すると
field(0)=20000007
field(1)=村上 希美
field(2)=□□□□ □□□
とデバッグメッセージが出力され、これを他のテキストエディタ等にコピペですると
field(0)=20000007
field(1)=村上 希美
field(2)=ムラカミ ノゾミ
とカタカナが表示されます。
ということは、Qtで日本語表示がうまく行っていないと思われるのですが、
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
を最初のところに入れても変化がありません。
コントロールに表示されるところも
QTextCodec* tc = QTextCodec::codecForLocale();
QString aa = QString(tc->toUnicode(PQgetvalue(cursol,5,1)));
ui->txtData->setText(aa);
のようにしてみたんですが、変わりません。
どこをいじれば表示されるようになるでしょうか?
Qt Creatorのメニュー等の表示が、英語のままなので、おそらく日本語化が必要なのかな?
と思っているのですが・・・。
わかるかた教えてください。
524 :
523:2014/10/17(金) 18:54:18.28 ID:daE1z7VZ
ひらがな、カタカナ がダメみたいです。
漢字は普通に表示されます。
qDebug は日本語のデバッグには使わない方が良い
Qt日本語プロジェクトのパッケージを使ったら、表示できました。
Ubuntu ソフトウェアセンターからではダメだったようです。
ありがとうございました。
528 :
デフォルトの名無しさん:2014/10/20(月) 11:18:59.14 ID:9KkqabyH
QScrollAreaのVericalScrollBarのvalue値が狂ってしまいます。
それは、フリックとピンチ処理のせいで仕方ないのですが。
そこで、狂ったvalue値を、QScrollAreaに再設定してもらいたいのですが、
そういうメソッドはあるのでしょうか?_・」
シグナルにない引数をスロットに当てるのって出来ない…?
ボタンをクリックしたら、ラベルから文字列取得して、いろいろ処理するってのをやりたいんだけど
connect(ui->button1, SIGNAL(clicked()), this, SLOT(hoge(ui->label1->text())))
connect(ui->button2, SIGNAL(clicked()), this, SLOT(hoge(ui->label2->text())))
みたいなことって出来ないのかしら。。
スロットはあくまで処理を捌く関数を指定するところ
それだと捌くのではなくイチ機能を呼び出してるだけ(呼べないけど)
class Hoge : public QWidget
{
Q_OBJECT
public:
Hoge(QWidget *parent = 0)
: QWidget(parent)
{
connect(ui->button1, SIGNAL(clicked()), this, SLOT(getLabelText()));
}
private slots:
void getLabelText()
{
QString &text = ui->label1->text();
//text でゴニョゴニョ
}
};
>>530 そうするとボタンによって参照するラベル変えようと思うと
前略〜
public:
Hoge(QWidget *parent = 0)
: QWidget(parent)
{
connect(ui->button1, SIGNAL(clicked()), this, SLOT(getLabelText1()));
connect(ui->button2, SIGNAL(clicked()), this, SLOT(getLabelText2()));
}
private slots:
void getLabelText1()
{
QString &text = ui->label1->text();
//text でゴニョゴニョ
}
void getLabelText2()
{
QString &text = ui->label2->text();
//text でゴニョゴニョ (getLabelText1()の処理と同じ)
}
};
ってやらないとイカンのかぁ
んーまとめられたらすっきりすると思ったんだけどね
とりあえずサンクス
個々に追加機能をもたせたボタンを用意したいのなら
QPushButton を継承したクラスを作った方がスッキリするんじゃないか?
QSignalMapperかQObject::senderを使え
536 :
デフォルトの名無しさん:2014/10/24(金) 01:40:48.39 ID:ySeMY2Ps
>>534 意味がよくわからないから誰も答えないんじゃなかろうか
GUIに繋がっていないときにQt使っているアプリを動かすと落ちるのは仕方ないとして、
なんか回避方法ないかな。GUIが繋がっているかどうかだけ調べる関数あったっけ?
540 :
デフォルトの名無しさん:2014/10/24(金) 10:11:01.43 ID:qtuHDxdr
QApplication::topLevelWidgets()で
QWidgetのインスタンスを列挙して調べる
541 :
528:2014/10/24(金) 10:34:45.92 ID:SqcrQTqR
iPhoneみたいな、
指の幅に合わせたピンチズームを作成したいのですが、
2本の指を固定すると、
勝手にQScrollAreaがMinかMaxに移動して、
指を離した瞬間にMinとかMaxの値が有効になってScrollAreaがズレるんですよね。。。
やりたいことは、
>指の幅に合わせたピンチズームを作成したいのですが、
なので、
今までのソース捨てても良いので、
サンプルが欲しいです。
そもそもそのデバイスはマルチタッチに対応しているんだろうか。
対応していないデバイスで実現出来たら
それはそれですばらしいことだと思います
545 :
528:2014/10/24(金) 14:44:50.48 ID:SqcrQTqR
デバイスっていうか、、、
Windows8につないでいる、マルチタッチディスプレイです。。。
QtのPinchZoomサンプル動かしたら、
iPhoneみたいに2点に追従するズームじゃなかったです。
2点のスピードから演算した大きさに拡大するし、
フリックどころかスクロールしないウィンドウでした。
iPhone <- new!!
マルチタッチ <- new!!
ピンチイン <- new!!
Windows8 <- new!!
さあ次は何がくる・・・?
>>532>>535>>533>>536 レス遅くなって悪い
ちょっとしたことだから継承までして用意したくなかったからさ…
sender辺りのリファレンス読んだけどいまいち理解できなかったから
lambda式案使わせてもらった。てかlambda式使えたのな!サンクス!
一応貼っておく、結果こうした
connect(ui->pushButton1, &QPushButton::clicked,
[=]() { hoge(ui->lineEdit1->text()); });
connect(ui->pushButton2, &QPushButton::clicked,
[=]() { hoge(ui->lineEdit2->text()); });
548 :
デフォルトの名無しさん:2014/10/28(火) 20:20:07.80 ID:2mxqBvb+
すごくない
頭大丈夫か?
550 :
デフォルトの名無しさん:2014/10/29(水) 15:25:33.16 ID:gd8dUUL3
スレ違いだからどうでも良いけど
組織票とか不正投票の排除って
確立したノウハウあるのかな
eventFilterの中で、
自eventFilterをremoveEventFilterしたり、
出来るのでしょうか?_・」
なんで試さないの?
失敗が恐ろしいからです。パソコンが爆発する。
558 :
555:2014/11/04(火) 14:21:44.83 ID:Y3aFhoDV
あ、そうじゃなくて、
どのオブジェクトのイベントフィルターか
指定する記述はありますか?
後出し訂正、いつまで続けるんかね?
質問に質問で返す。
シツコイ
ウザイ
イミナイ
widgetに貼ってあるコンポーネントを、
コンポーネントで検索したいのですが、
参考情報やコードを教えて下さいorz
抽象的すぎて何を知りたいのか分からん
Qtインストールしたときに
QtAssistantが入ってただろ
オレは、動作中のアプリに使っているパーツが、
どういうクラスで実現しているかを調べる方法、とエスパーしたぜ(`・ω´・;)
quicktimeが引っかかってうざいって書こうとしてマイナス検索を思い出した
566 :
デフォルトの名無しさん:2014/11/17(月) 13:26:28.39 ID:yrZcnyVb
QComboBoxのItemHeightを変更する方法を教えて下さい。
void setFixedHeight ( int h )
void setMaximumHeight ( int maxh )
void setMinimumHeight ( int minh )
好きなの選べ。
それだと、
QComboBox全体の大きさは変わりますが、
QComboBoxのitemのHeightは変わりません。
確かstylesheet使わないと変更できない部分って結構あったよな
ソースコード読めよ
>>571 それができない馬鹿だからここに来てるんだろう?
Qt使ってんだからと律儀にQScopedPointerやQVectorを使ってるんだが、
実際のところstdのスマポやコンテナと比較したらどっち使うのが良いとかある?
>>574 QVectorとSTL Vectorで単純な配列のアクセス比較をしたことがあるが、
QVectorの方が速かったな。
理由はQVectorのアロケータがアラインメントを自動で調整する実装に
なっているだけだが。STL Vectorでもアライメントの揃うアロケータを
使えば同じ。
あと、連想コンテナ系はQtのコンテナのほうが使いやすい。
>>575 ・Qtのソースを読め。
・ぐぐれ。
・カスタムwidgetを作れ。
・諦めろん。
コピペレスウザウザ(><);
たびたび情報小出ししてたやつか?
非を認めず・自覚せず、質問する側なのに逆ギレ
お前のほうがウザいのも自覚しろ
580 :
デフォルトの名無しさん:2014/12/10(水) 00:04:30.26 ID:52Cuf2IO
Qt使ってみようと思ってダウンロードしてみたんだけど
今から始めるなら4か5ってどっちがいい?
PyQtも2種類あって困ってる
5でいいんじゃない
1日待てば新バージョンリリースだぞ
583 :
デフォルトの名無しさん:2014/12/10(水) 20:45:05.42 ID:ElLlljB2
5.4キター!
来てばっかのやつを触ったこともないような人に勧めるのか
6とかになったならともかく今から5.3でやる意味あるか?
リファレンス読んで把握していけないくらいのレベルなら参考書買ってそれと全く同じバージョン使うのもありだろうが
586 :
デフォルトの名無しさん:2014/12/11(木) 16:49:32.83 ID:XAP9YLD/
5.4が出たので手持ちのAndroidプロジェクトをビルドしたけど、ABIが違うと言われて
実機にデプロイできずw
同じ現象の方いませんか?
5.4は結構いいね。
FakeVimでも日本語入力できるようになったな
ドキュメント見辛え
慣れの問題か?
591 :
586:2014/12/12(金) 16:28:39.99 ID:LftydDbk
VirtualBox上のLinuxでAndroid端末が認識されないのが原因だったorz
仕方がないのでWindows版でビルドしたが、今度もデプロイできない。
Androidバイナリが作成されるbinのフォルダができないwwwうむむ
最新版てXcodeも最新(6.x)にしないとインストールさせてもらえないんだよね
あ、Mac/Clang版で
>>580 絶対5
4と比べてクラスライブラリの充実度が違う
connect関数にクラスメソッドのポインタを直接書いたりラムダ式が書ける(C++11の設定必要)
QTreeWidgetでdrop禁止のinvisible rootにitemが突っ込まれるバグ見つけてしまった
dropEvent発生の矩形判定と挿入インデックスの計算時の矩形判定に1ドットの差があってミスってるっぽい
ソース読んですぐ原因は分かったんだが英語でバグ報告とか無理
サンプルソースと再現画像またはビデオ
とりあえずサンプル。ScrollPerPixelでだけ起こるらしい
これを実行して、item2をドラッグしてカーソルがちょうどitem1の最下に重なる所でドロップするとitem2がtopLevelItemになってしまう
#include <QApplication>
#include <QTreeWidget>
#include <QTreeWidgetItem>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTreeWidget tree;
tree.setDragDropMode(QAbstractItemView::InternalMove);
tree.setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); // the bug occurs in per pixel mode
QTreeWidgetItem* item0 = new QTreeWidgetItem(QStringList("item0"));
QTreeWidgetItem* item1 = new QTreeWidgetItem(QStringList("item1"));
QTreeWidgetItem* item2 = new QTreeWidgetItem(QStringList("item2"));
tree.addTopLevelItem(item0);
item0->addChild(item1);
item0->addChild(item2);
tree.invisibleRootItem()->setFlags(Qt::NoItemFlags);
tree.show();
return a.exec();
}
メリークリスマス!
仕事だよ
って、それを送ればいい
Hello bitches, fix this fucking bug immediately
>>598 英訳ありがとうございます!
この文章を添付すれば良いんですね
やべ、釣られてワロタ。
QtQuickのAndroid UIを試しているが、見かけはMinistroよりよい。
起動がもたつく感じがする。
手持ちのスマホはVibeUIというカスタムUIなのだが、このスマホで動かすとウィジェットがVibeUIのものになる。
移行したいけど、コンバータなんてないよね。また作り直すかw
Qtユーザー会のサイト、リンクおかしくなってない?
Qt/C++アプリケーション開発のリンク先はNotFoundだし、「Qtをつかいこなそう!」のリンク押しても「Qtをはじめよう!」に飛ぶし。
今弄ってる最中なのかな?
605 :
デフォルトの名無しさん:2014/12/17(水) 06:32:22.42 ID:xPx1dNiA
可笑しい
またバグ見つけたぞ糞が
WebViewが変わったらしいんで、5.3から5.4に更新予定なんですが更新時の注意点とかあります?
5.4でsqlのocidriverを作成してみた
qmakeで生成されるnmake用のMakefile.xxxは修正しないと正常動作しない状態だった
Qtハニートラップ
>>607 webengineviewなら
でざいなーにUI準備されてない
WinだとVS2013じゃないと使えない
適当にぶっ壊れる
俺は「ui->webView」を適当に宣言した「webEView」で置換しただけで丸っとそのまま動いたのと
404の時素のままに真っ白にならなくなったのとFlashとかで死ななくなったからまぁ満足してる
Flashの直ったのか
こりゃいいこと聞いたサンクス
>>611 いいかげん、flashやめて、HTML5に移行しろよ
Qt使うなら、コンテンツを作る側ではなくコンテンツを表示・利用する側だろ
コンテンツ作る側に言え
614 :
デフォルトの名無しさん:2014/12/23(火) 12:07:49.00 ID:ZWSROfwh
Qt CreatorにCDBでデバッグするとめちゃくちゃ遅いけど、こういうもの?
615 :
デフォルトの名無しさん:2014/12/23(火) 15:40:12.53 ID:ZWSROfwh
Windows版をインストールしたんだけど、フォルダやファイルの所有者がインストーラを実行した
ユーザーになってる。
これ危険な状態だよね?
Qtに限らずOSSにはこういうのが多いけど、Qtの場合、実行可能なバイナリを生成できる点で
通常のOSSとは違うと思う。
これ大丈夫なの?
サンプルがQtのインストールされたフォルダ以下でビルドされているので気が付いたんだけど。
みんなどうしてるんですか?
616 :
デフォルトの名無しさん:2014/12/23(火) 15:54:19.30 ID:ZWSROfwh
言ってることわかりますか?
例えば、Creatorのバイナリを自分が書き換えることができたのでは困りますよね?
一見まともなインストーラに見えるので信用しちゃったのですが、Windows用の
ソフトウェアとしては致命的だと思います。
今まで誰も気が付かなかったのでしょうか?
それとも?
お前以外はインストールする時点で気付いてたよ
618 :
デフォルトの名無しさん:2014/12/23(火) 16:43:24.22 ID:ZWSROfwh
>>617 気が付いているということは、これトラップですよね?
マルウェアを仕込むために使うんですよね?
標準ユーザーの権限でバイナリを書き換えて、実行者の権限でシステムを乗っ取るみたいな?
619 :
デフォルトの名無しさん:2014/12/23(火) 16:44:23.87 ID:ZWSROfwh
Qtサンプルとか言ってプロジェクトを公開してシステムを乗っ取るのでしょうか。
実際にそれができるか検証してから書き込んでくれる?
621 :
デフォルトの名無しさん:2014/12/23(火) 16:50:40.66 ID:ZWSROfwh
例えば、インストールした人の権限でUicを書き換えることができるわけです。
ここで、何かちょっとしたマルウェアを起動した後で本来のUicを起動する偽Uicを
仕込むバイナリを生成するサンプルがあったらどうでしょう。
ほかのユーザーがUicを実行すると、ちょっとしたマルウェアが起動されて後は
想像通りのことが起こります。
622 :
デフォルトの名無しさん:2014/12/23(火) 16:52:36.37 ID:ZWSROfwh
>>620 試したから書いてるんです。
当然のことながらみんな対策して使ってると思うので、標準的な方法を
質問してるのです。
623 :
デフォルトの名無しさん:2014/12/23(火) 16:55:15.21 ID:ZWSROfwh
本買ってきたのに、先が思いやられるなあ。
ならアドミン権限でProgram Files (x86)の下にインストールすればいいじゃん
或いはインストールしたあとディレクトリの権限変えるでもよし
625 :
デフォルトの名無しさん:2014/12/23(火) 17:00:31.61 ID:ZWSROfwh
>>624 それ試したけどダメでした。
空白文字入ってるとユーティリティがエラー出すみたい。
いろいろ腐ってます。
修正が提案できるなら、ちょっと取り組んでみたほうがいいのかもしれないですね。
日本語と空白文字は何とかしたほうがいいかも。
もちろんインストーラも。
文字種は悩ましいんだよね。
どんな文字でも受け付けるとそれが穴になるし。
626 :
デフォルトの名無しさん:2014/12/23(火) 17:01:56.02 ID:ZWSROfwh
これ英語版ならOKとかじゃないんで、インストーラ直したほうがいいよ絶対。
どうでもいいけど途中から急に敬語になってage連投してるのにワロタ
すげーアスペっぽい
628 :
デフォルトの名無しさん:2014/12/23(火) 17:06:09.72 ID:ZWSROfwh
>>627 お前!俺はお前らが絶賛してるから本買ってきて始めたんだよ。
そしたらなんだ、腐ってるじゃねーか。
はじめちゃったから直すしかねーんだよ。
はよ直せや。
俺の今後の予定。
QtがClangに対応する→強力な解析エンジンに期待する→MocのせいでClangが生きてこない。
どうよ?
ありそうだろ。
サーバー的な使い方したことないからよく分からんのだけど、右クリして管理者で実行ではあかんの?
MacもUbuntuもそうだけど、Qtってデフォのインストール先がuser/ユーザ名の下なんだよね、どういう意図なんだろう
631 :
デフォルトの名無しさん:2014/12/23(火) 17:13:26.78 ID:ZWSROfwh
ちなみに、インテリセンスも波線付きまくりなので素直にあきらめました。
ラムダあるのにMocって意味なくない?
まだ3ページしか読んでないから、いろいろすごいことできるのかもしれないけどさ。
中学生?
とても一般的な言動・責任を持った大人とは思えない言動だな
まぁ、8.3形式使えば Program Files 以下でも空白は回避できるけど、
レジストリで無効にもできるから完全な対応じゃない
一番の原因は、昔からそうだけど、MinGW が空白や多バイト文字を含むパスを拒否していたから、
それにあわせて仕方なく、だとは思うが
>>630 root 権でやれば、/opt 以下
つまり、その環境下のユーザー全員が使えるようにしたいなら、/opt 以下
ユーザー専用なら各ユーザー以下、それだけの話
633 :
デフォルトの名無しさん:2014/12/23(火) 17:22:20.97 ID:ZWSROfwh
Qtについて書く人は、セキュリティの問題を一番最初に書くべきだよね。
3冊買ってきたのにどれにも書いてないや。
まあいいけど。
俺はセキュリティにはあまり詳しくないんだけど
>>621 の話が良く分からない
Qtに限らず標準ユーザーの権限で書き換えられる実行ファイルに対してなら、どれでも同様の事ができると思うんだが
ちょこっとかじった知識で暴れてるだけ
木を見て森を見ず
636 :
デフォルトの名無しさん:2014/12/23(火) 17:45:41.85 ID:ZWSROfwh
>>635 そういうのが無責任な発言だと思う。
OSS関連はそういうの多いよね。
明らかに問題があるものは、問題があるとして注意喚起したほうがいいよ。
637 :
デフォルトの名無しさん:2014/12/23(火) 17:52:13.07 ID:ZWSROfwh
これcl.exeを標準ユーザーが書き換えられるとしたらどうよ?
お前ら、セキュセキュと大騒ぎするんじゃねーの?
それがQtで起こってるんだよ。
お前らが一番の被害者だろ。
なんで大丈夫なことにしたがってんの?
しかも、Qtユーザーはプログラミングできるのだから、直す能力あるよね。
俺には無理だけど。
そこらへんがよくわからん。
638 :
デフォルトの名無しさん:2014/12/23(火) 17:55:20.80 ID:ZWSROfwh
わかったらさっさと直せや。
直してくださいお願いします。
640 :
デフォルトの名無しさん:2014/12/23(火) 17:59:41.86 ID:ZWSROfwh
>>639 俺は質問はするけど、答えるほどの知識はないんだよなあ。
ちなみに、ほかのインストール済みソフトウェアは書き換えられなかったよ。
Adminでも無理だった。
Qtだけ書き換えられるよ。
これはQtのインストーラの問題だよね。
641 :
デフォルトの名無しさん:2014/12/23(火) 18:01:43.44 ID:ZWSROfwh
ほかのソフトウェアは、特殊な権限というのにチェックの付いたユーザがACLに入ってるけど
それが関係あるんじゃないのかな?
Qtだけ、そういったユーザがACLに入ってないんだよね。
>>640 普通に書き換えられる奴も書き換えられない奴もあるぞ
Cygwinだって書き換えられるし別に問題なくね?
643 :
デフォルトの名無しさん:2014/12/23(火) 18:15:27.32 ID:ZWSROfwh
>>642 Cygwinは危険ってことだろね。
OSSはそういうの多いんだろなあ。
初めてのOSSだから100mくらい吹っ飛んだわ。
OSSの人たちってセキュセキュうるさいイメージなのに、こんなん使ってんだって。
ダメだろこれ。
直したほうがいいよ。
直そうよ。
俺も自分で直せれば直すんだけどさ。
初めてのOSSだし無理やん?
バグトラッカー見たけど全部英語だし?
VSなら日本語で電話OKだし、感謝されるのになあ。
ああ、何か自信満々で書き込んでるから俺の知らない何かがあるのかと思ったけどただの馬鹿だった
どうしても気になるなら普通にインストールした後ディレクトリの権限変えろよ
645 :
デフォルトの名無しさん:2014/12/23(火) 18:23:05.57 ID:ZWSROfwh
>>644 Windowsにrootは存在しない。
この意味をかみしめて、さっさと直せ。
よろしくお願いします。
646 :
デフォルトの名無しさん:2014/12/23(火) 18:26:00.58 ID:ZWSROfwh
rootがなんでも書き換えられるのって欠陥だよね。
気が付いた。
647 :
デフォルトの名無しさん:2014/12/23(火) 18:29:37.76 ID:ZWSROfwh
本出してる人は、これ絶対最初に書くべきだよね。
危なかったわ。
ホンマに危険やったでえええ!
648 :
デフォルトの名無しさん:2014/12/23(火) 18:33:10.02 ID:sHCro2gw
権限ってのは利用者に委ねるものであって開発者が決めるものではない
だから、インストーラが要求する権限は必要最低限に抑えるべきで、それで問題が生じたらそれは利用者側に問題がある
お前みたいなアホに応対するのが面倒で最初から管理者権限要求するソフトウェアが蔓延ってるが、本来それはノーマナー行為だからな
649 :
デフォルトの名無しさん:2014/12/23(火) 18:38:49.58 ID:ZWSROfwh
>>648 これは修正するべき重大な欠陥。
俺はたまたま気が付いたけど、気が付かなくてもおかしくなかった。
気が付いていないのはお前だけ、という書き込みがあったけど、気づくどころか
危険はないといってる奴までいる始末。
実際気づいてなかっただろ。
これはまずいだろ。
こいつは直さないとダメな問題。
650 :
デフォルトの名無しさん:2014/12/23(火) 18:40:56.54 ID:ZWSROfwh
お前ら、ソフトウェアを作ったら、標準ユーザが書き換えられるようなインストーラにするの?
もう怖くて使えねえ。
Qt見たら逃げるわ。
そういうレベル。
651 :
デフォルトの名無しさん:2014/12/23(火) 18:48:03.18 ID:bMuEcIXw
開発キットだから自分でライブラリのソースをコンパイルもできるような環境を提供している
ソースを改変して自分用のqmakeやらQtCore.dllを作ることも出来る
書き換えられなくなると、開発環境として面倒になる
cl.exeはソースが公開されてないから変更を加える事が想定されていない
本気で脳みそ腐ってんだな・・・
「D:ドライブにインストールしたけど、そのファイル上書きできちゃうよ?危ないんじゃね?」
と暴れてるのと同義
正常な思考なら、すでに
>>632で答えは出てる
根本の原因を見ず、しかも的外れに Qt に文句を言って、
さらに見当違いな相手に「お前らが薦めたから」だの「お前らが直せ」だの
そこら辺歩いてる人に文句言ってるようなもん
精神疾患を疑うレベル
653 :
デフォルトの名無しさん:2014/12/23(火) 18:59:48.09 ID:ZWSROfwh
↑
ご覧ください。
Qtを利用した製品は、こんな人たちが作っています。
↓
654 :
デフォルトの名無しさん:2014/12/23(火) 19:02:11.26 ID:bMuEcIXw
Qtを利用した製品ではなく
Qt自体を作ってるんだろ
バグ報告は義務だし、バグ修正と検証するときに再コンパイルできなかったら面倒やん
655 :
デフォルトの名無しさん:2014/12/23(火) 19:04:39.99 ID:ZWSROfwh
インストーラからソースもインストールできるなら、その言い訳も通用したであろう。
656 :
デフォルトの名無しさん:2014/12/23(火) 19:07:08.80 ID:ZWSROfwh
俺、イチユーザーとして普通のこと言ってるよね?
お前ら直せるんだから直してよ。
本読むから、直ったら呼んでね。
657 :
デフォルトの名無しさん:2014/12/23(火) 19:07:40.42 ID:bMuEcIXw
なんだろうな、この的も方向も外れまくったところで、
鬼の首を取ったように暴れてるのは・・・
あまりに見えてる(見るべき)世界が違いすぎて、
諭す方法すら思いつかないぞ・・・
平日に伸びてるなと思ったら、バカが暴れてたか。
Qtのインストールの仕方がそんなに嫌ならQtなんか使わなければいいのに
他にフレームワークなんか幾らでもあるでしょ
ID:ZWSROfwhはlinux板で有名なIT業界の水戸黄門ですよ
・rmsをザコ扱いできる技術力をもつ
・オープンソースの魔の手からプログラマを救うべく日夜2ちゃんねるに書き込みを続けている
・本人曰く彼の経歴を知れば皆震え上がる
・スタートレックにはあまり詳しくない
Qt のファイルが、保護されるフォルダ以外でも保護されてない。危ないやろ!
お前ら開発者だろ。お前らが直せ!
在日外国人が、保護される国以外でも生活保護されてない。危ないやろ!
お前ら有権者だろ。お前らが保護しろ!
そっくり
Winでのsetupで、ファイルやディレクトリにアクセス可能ユーザーをスクリプト(Install ShieldとかNSIS)から追加するのはやったことあるけど逆は結構大変というか無理に等しかった
多分ユーザーディレクトリに有りながら、該当EXEファイルからログインユーザー自身のアクセス権を抜き落とす事が必要なんだろうけど、
Windows Explorerからだと簡単なのにね
てゆかツールはProgram Files、サンプルはユーザー領域、っていうシナリオにしなかったのが問題
別にUbuntuやMacと同じレイアウトにしなくても良かった
Macもツール類がApplicationsディレクトリに居ないのは違和感だし
664 :
デフォルトの名無しさん:2014/12/24(水) 18:55:00.33 ID:lvBwbjtZ
開発キットはQtアプリケーションを動かすためにインストールするわけではない
アプリケーションを配布する時はソフト開発者がDLL同梱すべき
オープンソースの開発キットである意味を考えるべき
Qtライブラリ自身の開発を促進する目的があるということ
それが阻害されてはいけない
>>664 >開発キットはQtアプリケーションを動かすためにインストールするわけではない
流石にアプリのランタイム目的でユーザーにQt SDKやらCreatorやらインストールさせるアホはおらんでしょ
666 :
デフォルトの名無しさん:2014/12/27(土) 21:10:21.19 ID:MyvAPYRW
Qtにメモリーリーク検出手段は用意されていますか?
667 :
デフォルトの名無しさん:2014/12/27(土) 21:45:10.72 ID:MyvAPYRW
Qtはオブジェクトのオーナーシップがわかりにくいので、メモリーリークの
検出手段がないととても使えたものではないと思います。
(ドキュメントもオーナーシップについての記述が弱すぎると思う)。
したがって、Qt Creatorと協調する検出手段がすでに用意されているはずですが
どうでしょうか?
皆さんはどうしているのですか?
なにも用意されていなければ、VLDを試してみようと思います。
ultimateは高すぎるので。
またお前か
669 :
デフォルトの名無しさん:2014/12/27(土) 22:53:48.52 ID:MyvAPYRW
メモリーリークに関しては、生ポインタを扱わないようにしないと難しいです。
std::weak_ptr<>を返すstaticメンバを用意して、コンストラクタを隠ぺいする。
オーナーシップは右辺値参照を使って移動するようにしたらどうですかね?
いまさらQtに持ち込めるのかどうか知りませんが。
670 :
デフォルトの名無しさん:2014/12/27(土) 22:55:29.10 ID:MyvAPYRW
>>668 これ誰でも通る道なんじゃないですか?
俺はQt使い始めてまだ数日なんで。
使い始めてすぐに、だれでも考える疑問だと思います。
FAQになるような話だと思うのですが。
>>668 その偉そうな態度からすると、明確な答えをすでに持っていてしかもそれが当たり前の常識レベルということなんだろう
だったらさっさと答えてやれよ
672 :
デフォルトの名無しさん:2014/12/27(土) 23:48:09.75 ID:p4rbQqOW
crtdbg.h
定番のメモリリーク検出機能
qtでも使える
673 :
デフォルトの名無しさん:2014/12/28(日) 00:03:48.75 ID:goYb6Bjn
qt使うのやめたんじゃないんだ
675 :
デフォルトの名無しさん:2014/12/28(日) 01:52:05.07 ID:goYb6Bjn
>>674 カバー範囲がちょうどいい感じじゃないですか。
もう少しモダンになると良いんですけどね。
676 :
デフォルトの名無しさん:2014/12/28(日) 02:49:11.72 ID:goYb6Bjn
QWidget::~QWidget()はvirtualになっていないのに、子孫クラスのデストラクタは呼ばれる。
ここら辺の仕組みが載っている書籍かサイトありませんか?
677 :
デフォルトの名無しさん:2014/12/28(日) 03:21:30.53 ID:goYb6Bjn
QWebViewのメモリーリークを回避する方法はありませんか?
QWebSettings::clearMemoryCaches()あたりまではやってますが、完全ではありません。
自分のコードからリークしている場合に知ることができないのが問題です。
Q_OBJECT と .moc 見れば
679 :
デフォルトの名無しさん:2014/12/28(日) 05:27:32.73 ID:goYb6Bjn
webkitwidgets使ってる人はデバッグどうしてるんですか?
リークするのがデフォだと、非常につらいですよね?
http://peace.2ch.net/test/read.cgi/tech/1359549517/l50 このスレ思い出した。
Qt作ってる人たちはFree要らない派なんだろうけど、使ってる側はきちんと管理
したいはずなんで、非常に困ると思うんだけど。
数千検出されるリークの中から、リークしてはいけない一つを探すのって
非常に困難。
解決する方法がないならリポートにフィルターかますけど、それにしても
終了処理が重すぎて困る。
ソース公開されてんだから自分で調べろや
不満があるなら好きなように弄れや
お前はこんなことに突っ込む僕ちん凄いって舞い上がってるだけなんだよ
681 :
デフォルトの名無しさん:2014/12/28(日) 11:17:39.82 ID:Z/9vdHUg
疑問がわいたらすぐ2chってすごい頭だよね。
683 :
デフォルトの名無しさん:2014/12/28(日) 18:54:11.22 ID:U/RryJ8a
crtdbg.h
俺はこれで検出できてるから十分だわ
684 :
デフォルトの名無しさん:2014/12/29(月) 00:34:09.39 ID:kPY94Ks7
>>683 俺も結局そうしたわ。
今のところそれが正解なんだろね。
>>676 QObject継承してるだろ。virtualの省略も知らないのかよ……
Qt以前にC++を全然理解してない構ってちゃんなんです
餌をあげないでください
688 :
デフォルトの名無しさん:2014/12/29(月) 13:05:46.87 ID:/fu+2Q3X
自己紹介乙
Qt5.1.1でジェスチャを使うべく試行錯誤中です。
サンプルがqtbase\examples\gestures\imagegesturesに有る様なので、
imagegesturesを実行してみましたが、ジェスチャイベントが来ません。
QT_NO_GESTURESは定義していないので、ジェスチャイベントは有効だと思います。
bool ImageWidget::event(QEvent *event)
にて、event->type()をログ出力してみると、
QEvent::TouchBegin
QEvent::MouseButtonPress
QEvent::MouseMove ×複数回
QEvent::MouseButtonRelease
といった具合になっており、マウスイベントが来ている様です。
ピンチ、スワイプともにジェスチャーイベントが来ないのですが、
何かビルドや実行する際のオプション等必要でしょうか?
必要であればオプションを教えて頂ければ助かります。
え?
drag and drop の動作で、
ウィンドウ内全ての Widget に同一の動作をさせたい場合、どうすれば楽?
drop の signal があれば単に繋げりゃ楽なんだろうけど、
ソレらしいのを見つけられなく・・・
QPlainTextWidget とかのテキスト領域を持つウィンドウだと、
その Widget へ落としたときだけファイルのパスが渡されてしまうため、
個別に処理を持たせるか、共通処理を作ってそちらに渡すか・・・
どちらもあんまりスマートじゃないと思うので
>共通処理を作ってそちらに渡す
例えばテキスト領域を持つ Widget の dropEvent が呼ばれた際に、
一旦 signal 発行し、その Widget を持つ親 Widget がその signal を受理する、という形を指しています。
>>693 WidgetだけacceptDropsを有効にしてdropされた座標でどこにdropされたか判断するのはどうでしょう。
695 :
デフォルトの名無しさん:2015/01/28(水) 14:12:55.09 ID:SCpZFuiC
QApplication が全てのイベントをまず受け取る
そこから各widgetへイベントが渡されていく
つまりQApplication のイベントを監視すればいい
win7_64bitでQt5.4とQtCreator3.3を使ってるんだけど、
QFileDialogのgetOpenFileNameを使うと
「Exception at 0x7fefda4940d, code: 0x6ba: RPC server unavailable, flags=0x1 (execution cannot be continued) (first chance)」
って言われるんだけどなにこれ?
697 :
デフォルトの名無しさん:2015/01/31(土) 00:12:36.13 ID:BBJPCXyN
void QMainWindow::setCentralWidget(QWidget *);
を使っても表示されるウィンドウが中央に表示されずに、常に左隅に表示される
んだけど何故だかわかる?
698 :
デフォルトの名無しさん:2015/01/31(土) 10:46:06.84 ID:YMt5PyZL
ウィンドウが画面サイズ越えてたらそうなるな
初カキコ失礼します。
iPhoneアプリのゲームのプログラムがどんな感じなのか知りたくて、アプリデータをiFunboxから抽出し、Xcodeで閲覧しようとした所PDFのファイルイメージみたいな画像だけで中身は白紙のプログラムがありました。
このプログラムを可視化するにはどうしたらいいですか?
何故qtスレにくるのか
逆アセンブルとかで調べたら
書き込み見ただけで逆アセンブルとか無理だってわかるだろ
相手はバイナリエディタすら使ったことないレベルの初心者さんだ
調べたら自分には無理ってことがわかる
わかって欲しいもう来ないで欲しい
明らかな荒らしに回答してあげてる俺かっこいい
あ、スレチでしたか...
申し訳ないです
聞くのも触るのも初めてだったので...
犯罪には手を貸さない。
一般的な用語も含めて理解してないために、
目的のものへ辿りつけないのですが、
Qt による自作アプリ上で図形を描き、その図形を、
例えば OpenOffice などのオフィス系アプリにコピペする仕組みを実現したいのですが、
Qt でそういった類の機能は用意されているでしょうか?
キーとなるクラスや、参考になるサンプルなど有りましたら、紹介お願いします。
MS Office へもコピペできれば更にありがたいです
707 :
デフォルトの名無しさん:2015/02/07(土) 12:42:33.39 ID:Hof4fFat
ここのひとにはむり
単なるイメージデータなら QClipboard で行けるみたいだけど
何かのメタ情報まで保持させたいなら
受け側の仕様を調べないとダメなんじゃないかな
データ設計の土台からそのつもりで構築しないと
MSOfficeがSVGに対応していたら、SVGでやればいいんだけどな。
Qt4まで簡単に出来てたけどQt5ではやり方がわからないことが多くて困る
Qt5から、ビジネス色が強くなった感じがあるね。
Qt5はうんこ
うん
たん
>>706 埋め込んだあとも再編集可能なやつは、MSによるOLEとかいう技術だと思うけど、今はなんていうんだろう
ActiveX系のクソ重いアーキテクチャーだと思うけどよくわからん、MSDN調べたほうがいいかも
716 :
デフォルトの名無しさん:2015/02/26(木) 04:31:28.90 ID:EQFLZ0n/
emf
うんこたんく
eml
Qtって半年に一度0.1ずつバージョンアップするんだっけ
pysideってどうなったの
Qt5うんこすぎる
Qt5はうんこって100回くらい書かないと気が済まない
GTKよりはマシだろ
もうQtは終わった
もはやどこにも売り込む市場が無い
個人の趣味に使われても金にはならない
Qt商用ライセンスは製品の販売本数が膨大じゃないとロイヤリティーが高杉で使えない
わざわざQt使う理由が無いもんな
>>726 LGPL版は条件悪くないね
Qt自体はMFCやC#よりは使いやすいしMacやLinuxでも使える
728 :
デフォルトの名無しさん:2015/03/08(日) 17:19:39.10 ID:IaLPrpRo
Qtは悪くない
だけど手軽さは無いかな
javascriptで書けるpysideみたいなの欲しいけど無いんだよな
えっ
>Qtは悪くない
というのは、個々の知ってるテリトリーに当て嵌めた感想なんだよな
Windowsのアプリ開発しか興味ない人にはベストではなく
Android開発にしか興味ない人にもベストではなく、
iOS開発にしか興味ない人にもベストでもなく、
Web開発しか興味ない人にもベストでもない
Linuxデスクトップや、組み込み開発だといい線行ってるけど
Meego系譜やTizen、UbuntuとかいったモバイルOSには、
どれもQtが採用されてるから、ポテンシャルはあると思うけど、
どれもぱっとしない、というかコケてるからなぁ
マルチプラットフォームには向いてる
QtはLGPLでWindows、Mac、linux、Androidまではネイティブで動かせるので、いいのだけれども、iOSで動かすたためには、商用ライセンスが必要だからLGPLで開発してしまうと事実上使えない。
Qtが発展するためには、商用ライセンスの制約緩和とライセンス費用を下げることだな。せめてQtcreatorと抱き合わせで、年間6万くらいにしないと。
商用ライセンスがクソ高いのは、製品配布数に応じたロイヤリティーを一括前払いで取るからなんだよな
開発者ごとのライセンスなら例え数十万円でも数人分なら払えるけど、ロイヤリティーの一括前払いなんて大企業じゃなきゃできない
734 :
デフォルトの名無しさん:2015/03/10(火) 18:48:58.51 ID:wjyzKy53
終ったんなら、俺にくれ。ただで。
LGPLだとフットプリントがでかいんだよなあ。
ハッテンしてほしいな(´・ω・`)
昔は商用とGPLしか無かったんだから、LGPLでも大した進歩だったんだろう
次あたりでMITライセンスにでも変わってくれれば
ノキアがQt所有したままMSに買収され、
QtのAPIそのままに、MSネイティブのランタイムで動きます!(MFCの代替)
って展開があったら胸熱だったんだけどな
そんなの嫌ですわ
でもノキアは事実MSの傘下なんだよな
Qtは携帯事業とは違うのかも知れんが
最近のMS見てりゃわかるが、ずいぶんOSSに寛容というか、協力的になったし、
もしQtのような巨大なコミュニティー付きOSSを手中に納めたら
OracleやNOKIAと同じように、共存の道を選んでると思うけどな
C#やMFCはWin専用だけど、QtはWin以外にも視野を広げることになる
MSはそういう方向に行くかというと微妙だよな
Visual Studio 2015がWin以外にも出るって噂があったけど、どうなんだろ