【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/03/08(水) 13:49:03.39ID:jMX+hATM
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、さくさくエディタ など

■前スレ
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 17
http://echo.2ch.net/test/read.cgi/tech/1438593408/
95デフォルトの名無しさん
垢版 |
2017/04/30(日) 11:21:18.69ID:zwvZEPLC
skypeforlinux-64はQtを使わなくなった。
2017/04/30(日) 12:13:17.46ID:VPr4LyhY
OSから入れなおせ
2017/04/30(日) 15:18:56.72ID:yxqWVund
皆様ありがとうございます。

>>93-94
全く同じ状況です。
優先順位をどのように設定されましたか?

[ビルドと実行]-[Qtバージョン]でQtツールキットのバージョンの一覧で
自動検出のQt4
Qt5.6.2 gcc_64
になっており、削除、クリーンアップができません。
手動で追加することもできません。
何か別途で優先順位を設定する方法があるのでしょうか

どうして古い方のQmakeを優先するんですかね…
2017/04/30(日) 15:46:38.99ID:VPr4LyhY
pathがおかしいんじゃね
2017/04/30(日) 16:22:54.83ID:JrC81rPZ
>>97
だからOSとそのバージョンを書けって言ってるだろ。
質問の仕方もわからんのか。

まず、Linux系の場合、OS標準の方法で入れたQt Creatorと
Qt公式のインストーラーで入れたQt Creatorはそれ自体が挙動が違うから、
Qt公式のを使いたければOS標準のはアンインスコして使うべき。

それからQt Creatorのツールキットの認識は『キット』と『Qtバージョン』の2段階になっていて、
Qt公式のQt Creatorを起動している場合はバンドルされているツールキットが自動検出になるはず。

まずはQt Creatorのバージョンを確認することだな。うちのはQt公式ので4.2.1だ。
2017/04/30(日) 17:46:25.32ID:kKON+KN1
ubuntu16なんだろよく読めよ

責任とれないが俺のやり方
rootでいらないqtファイル消す(パージじゃ消えない>>99を信じるな)
aptでパージ
新バージョンを公式から落としてインスト
aptでいれなおす
aptでいれたクリエイターを起動
あら不思議自動認識が消える
手動で公式インストqtファイルを指定
いつもこんな感じ

93に指定する方法聞くかos入れ直すほうがいいかもな
しかし>>99のような役立たずな書き込みもめずらしい
2017/04/30(日) 23:32:00.50ID:yxqWVund
皆様ありがとうございました。

>>100
この方法で自動検出されていたQt4が消え、
Qt5.6.2 gcc_64だけを指定することができ、
エラー: : No such file or directory
#include <QLoggingCategory> が無くなりました。
ありがとうございました。
2017/04/30(日) 23:54:41.47ID:JrC81rPZ
>>100-101
なんでだよ。

その運用だとQt Creatorだけシステム側ので全体がチグハグになるだろ。
SDKをQt公式から入れたならQt CreatorもQt公式のを使うのが本道だろ。

ま、動きゃ何でもいいってんならもう何も言わんがね。
2017/05/01(月) 02:32:41.50ID:Pbd1SnYh
無様
2017/05/01(月) 11:28:03.11ID:hzoMRY/L
配布するときにまた揉めそうなやつだな
2017/05/01(月) 17:10:51.52ID:TBFB8t6J
何コイツ偉そうと思っていたら
> うちのはQt公式ので4.2.1だ。
最後でお茶吹いたw
2017/05/02(火) 09:51:40.73ID:zHbBpGgT
>>105
Qt CreatorのバージョンはQt SDKのバージョンとは違うんだが?
いちいちそんなことを説明する必要ある?
2017/05/06(土) 15:02:02.22ID:UekiBFUN
apt-get で入れる場合、そのubuntu(debian)でランタイム用として公式サポートされているものと
同じバージョンの開発キットがインストールされる

さらにapt-get でインストールできるのはモジュール単位なので、
QtGUI とかの基本以外のモジュールを使う場合は追加でインストールする必要がある

ぶっちゃけ面倒だし、Qt公式インストーラで別途インストールした方が管理も楽

ちなみにユーザー権限でインストールするとホームディレクトリにインストールされる
sudo 付けてインストーラを実行すればそのPC内のユーザーで共用できる(/opt/Qt とか)
108デフォルトの名無しさん
垢版 |
2017/05/08(月) 15:21:35.90ID:b8IrEu5a
Qt Creatorのヘルプでスクロールすると途中から逆向きにスクロール、なんてバグだ。
2017/05/08(月) 15:24:27.22ID:a6AlN3XP
んなもん、公式フォーラムに書けや。アホか。
2017/05/08(月) 17:01:56.50ID:b8IrEu5a
>>108
ソース引っ張ってきて直した。Qtのバグだった。
2017/05/08(月) 18:13:21.70ID:a6AlN3XP
>>110
公式にパッチを投げるまでがOSS開発者の仕事。
2017/05/08(月) 18:36:01.53ID:b8IrEu5a
>>111
OOSのは使っていない。
2017/05/08(月) 19:03:56.43ID:gDok/eUJ
>>106
>>107
相変わらず的外れなことばっかりな奴がいるな
2017/05/08(月) 19:31:03.26ID:a6AlN3XP
>>112
Qt自体がOSSだ。
>>113
何が的外れか具体的に指摘できない時点で的外れ。
2017/05/08(月) 20:29:22.76ID:SZNsQcBY
>>113
Tipsに対して的外れとは、君の的はいったいどこにあるのやら
116101
垢版 |
2017/05/08(月) 23:31:08.77ID:H01j08w7
101です。
荒れる原因になってしまったので
追加の報告をさせて頂きます。

100さんの方法で自動検出が消え、Qt5.6.2 gcc_64を指定したあとは、
公式のQt5.6.2を利用しています。
公式のQt5.6.2にもQt5.6.2 gcc_64を指定した設定が適用されていました。
(自動検出のQt4を消すことが出来ました。)
ですので、102さんが仰る
>>Qt Creatorだけシステム側ので全体がチグハグ
にはなっていないと思います。
この報告をすぐにすればよかったですね
2017/05/09(火) 00:11:50.01ID:ECVRvtRv
>>116
まあUbuntuなら公式とそれほど差があるわけじゃないから
動けばどっちでもいいだろうけどさ。

念のためにGUI上でQt Creatorのバージョンを確認して、
$ (QtSDKをインスコしたPATH)/Tools/QtCreator/bin/qtcreator -version
の出力と比べてご覧よ。

同じなら同じバージョン。
異なるならQt Creatorだけシステム側のを使ってる状態になる。
2017/05/09(火) 01:11:27.86ID:m06THHKY
>>114
商用はOSSではないよ
2017/05/09(火) 01:28:51.69ID:ECVRvtRv
>>118
https://www.sra.co.jp/qt/faq/licenses.html
問 :
 商用版の Qt にあって、オープンソース版の Qt にないものは何ですか。
答 :
 基本的な Qt のコードとライブラリと API は、両方で同じです。しかしながら、商用版とオープンソース版では多くの違いがあります。
 商用版の顧客は、オープンソース版のユーザが利用できない多くの製品やサービスを入手できます。

>>118,110 は明らかにQtのコードの話をしているからこれはOSSの範囲だ。
2017/05/09(火) 02:46:59.42ID:TexapL1h
>>117
だめだコイツ
話が通じてねぇw
2017/05/09(火) 08:16:57.55ID:m06THHKY
>>119
商用はQtのコードを変更しても知らせずに使える。OSSに反映する必要はない。
製品に特化した機能変更や修正をしてもよいしQtを使っていることを知らせる必要もない。
2017/05/09(火) 10:09:31.58ID:ECVRvtRv
>>121
あー、こいつ全くわかっとらんわ。話にならん。
2017/05/10(水) 20:43:32.16ID:WFrkL21k
>>122
LICENSE AGREEMENTをよく読んでごらん。
2017/05/10(水) 23:33:30.45ID:fDOgxcsN
>>123
117のカキコ見たらわかるが
人の話全く聞かない奴だからスルー推奨
125デフォルトの名無しさん
垢版 |
2017/05/12(金) 14:42:59.20ID:MORu6q+C
数日前、Qt Creator4.2.2でオプション設定していたら固まった。
今日は、起動して7つのプロジェクトが入ったデフォルトセッションを開くとプロジェクトの読込中のまま進まない。
2017/05/12(金) 14:57:42.01ID:PxXB6Wit
プロジェクト読み込み時に固まるってのはたまにあるね。
しばらく待ってたら読み込み終わることが多いけど。

userファイル消してみたらどうだい。

ついでにいうとここで書いたって解決しないから
どうしてもというなら公式のフォーラムで発言したほうがいいよ。
2017/05/13(土) 02:20:46.39ID:DreJkv7c
おまえらQtでmastodonのクライアント作ろうぜ
2017/05/14(日) 17:56:32.37ID:ozBnCuKw
>>126
そうだね。
今度はビルドしたらQt CreatorのプロセスがCPU 100%で無限ループ。
2017/05/18(木) 09:41:38.07ID:xXCtzo0J
Python3 + PyQt5 の勉強始めて、基本的な動作の実験をしてみたんだけど、

if __name__=="__main__":
  # 1回め
  app = QApplication(sys.argv)
  window = MainWindow()
  app.exec_()
  # 2回め
  app = QApplication(sys.argv) # これをしなければ OK
  window = MainWindow()
  app.exec_()

ってやると1回めのウィンドウを閉じたところで Segmentation fault になる。
MainWindow は、QMainWindow から派生してて、コンストラクタで show() してる。
2回めの QApplication のインスタンスを作りなおさなければ動くんですが、なぜなんでしょう?

想定しているのは、入力のフロントエンドとして使用して、その処理を繰り返すような用途です。
2017/05/18(木) 09:48:40.00ID:yl+XzHdH
>>129
基本的にQApplicationはQtアプリ自身の寿命と同じになる。

QApplication::exec()から制御が戻ってきたときはそのままアプリケーションは終了させてしまう。

君が書いてるようなQApplicationのインスタンスを何度も作り直すようなことは想定されてない。
根本的に使い方が間違ってると思うんだが。
2017/05/18(木) 12:00:30.51ID:xXCtzo0J
>>130
どうも。
まあ MainWindow を再生成してる例とかも見たことないし、
あまり良いことじゃないんだろうなーと思いながらちょっと実験をした次第。

スレッドを使うのが正しいんだろうとは思うんだけど、なかなか大変そうで、
できれば簡単に済ませられないかと。

1. ウィンドウで入力。
2. ウィンドウ閉じて、途中経過はターミナルにつらつらと出す。
3. 1 に戻る。

こんな感じなんだけど、簡単にできる方法ないでしょうかね。
132デフォルトの名無しさん
垢版 |
2017/05/18(木) 15:12:32.04ID:6nNpr9wz
そんなことだれもやらないだろうな
MainWindowの中身を造りなおせば済むから
2017/05/18(木) 16:58:37.46ID:d+oDyp66
メインウィンドウを閉じるという事は、アプリ・プロセスの終了と同じ

プロセスの起動・終了を繰り返しても、時間がかかるだけで、意味がない
134デフォルトの名無しさん
垢版 |
2017/05/18(木) 17:48:15.34ID:0IsM/VMV
>>131
どうしても閉じたいのなら、closeした時のsignalで処理開始して、処理終了signalでメインウインドウ再度作成すればいいんやないの?
2017/05/18(木) 20:58:39.50ID:l69ftKPX
pythonにもhide/showぐらいはありそうなもんだが
2017/05/18(木) 21:09:42.35ID:5ZcsGzLc
hideするだけで良いじゃん。
多分GUIアプリを作った事がないと見た。
2017/05/18(木) 21:21:27.96ID:c1N4wzkE
>>131
app.setQuitOnLastWindowClosed(False)
2017/05/18(木) 22:02:34.50ID:xXCtzo0J
どうも。いろいろ参考になります。

ちょっと気合入れてスレッド勉強しました。なんとなくわかってきたんで、これで実装しようかと思ってます。あー、頭いて。

>>136
Python + Qt は初めて。Lazarus なら遊びで使ったことがある。

>>137
なにやら怪しげなフラグ設定、調べてみます。
2017/05/19(金) 11:35:18.05ID:EaD/3jfs
>>138
python で実装するにしても関数仕様は以下を参照した方が速い。どうやっても C の仕様に引き摺られるので。
http://doc.qt.io/

例えば >>137 を調べるとして、以下を見れば古い C 流儀のプロパティだと判って python 流でないのに戸惑うかもしれない。
http://doc.qt.io/qt-5/qguiapplication.html#quitOnLastWindowClosed-prop

ただ、>>131 をやろうと思ってるなら閉じる必要のあるウィンドウをメインウィンドウにするべきではないと思うな。入力用のダイアログ作ればいいと思うけど。
逆にずっと出していると思われるターミナルウィンドウみたいなのをメインにしたらいいと思う。
そうすると余程長い処理じゃなければスレッドを使う必要もなくなるんじゃない?
PyQt/PySide でスレッドを分けるとスレッドを跨いだデータの扱いで結構面倒事が起こる。
140デフォルトの名無しさん
垢版 |
2017/05/20(土) 15:34:09.42ID:YAniTqrY
馬鹿には無理
2017/05/20(土) 21:07:33.68ID:QnLfIsPY
質問です
QChartを使いたいんですけどQtCreatorのデザイナに出てこないんですがどうすればいいんでしょうか
環境はUbuntuでCreatorと全モジュール入りのソースをビルドしてインストールしました
2017/05/21(日) 18:41:27.32ID:kU3SV2Oh
質問。QMLでfindObjectByIdに相当するものって無い?
idをJavaScriptに文字列で渡ししたいんだが
2017/05/21(日) 19:40:14.93ID:FLeMRkjd
>>141
chart使ったことはないが公式のサンプルはあるじゃろ
そこから読み解くのも一つの手

>>142
C++でも存在は知ってても使ったことがない
Qt3より以前の古い設計の名残だと思ってるが…
2017/05/21(日) 19:53:10.30ID:1z6i0IAe
QStringListやQMap<int, QString>でよくね
2017/05/23(火) 21:27:48.60ID:yewnfItW
なんでQt製の2ch専ブラが存在しないの?
2017/05/23(火) 22:26:49.75ID:uRWG/1h1
Qtで作るメリットがないからじゃね?
2017/05/23(火) 22:50:34.65ID:QSXdmP1t
Qt は Unix 系の人が多いと思うけど、 Unix 系の人はお気に入りのニュースリーダかエディタで 2ch を見る人が多い印象がある。
2017/05/24(水) 03:32:38.88ID:TdJLTRsg
専ブラを作るのに適したGUIライブラリってなんだろ
Qtはマルチメディアも扱いやすいしWebKitも軽いし最も適した選択肢の1つに入る気がする
それともWPFやJavaFXのほうが良かったりするのかね

デスクトップ版の専ブラ古臭いのしかないしQt/Qmlでデスクトップ/Android両対応の専ブラ作れば一発当てられるんじゃね
2017/05/24(水) 06:34:54.59ID:be4/vFMj
ぜひ当ててくれ
2017/05/24(水) 12:10:06.69ID:4nncZNTT
ときすでにおすし
2017/05/24(水) 12:34:30.46ID:VnQyaHE4
kitaってのあったよ
LinuxデスクトップやZaurusではそれなりに使えてたけど
2017/05/24(水) 12:48:05.37ID:u73zk5EW
2chのapiが独占されてるからいまさら考えても意味なし
2017/05/24(水) 16:04:02.28ID:ClJsbK5M
現在の入力値を調べてボタンを有効/無効にする制御をやりたい。
Windows だとこういうのは Idle ハンドラでやってたんだけど、
Qt だとどこでやったらいいんでしょうか?
2017/05/24(水) 18:00:12.56ID:VnQyaHE4
オブジェクト思考的な話
数値がある閾値超えた場合、その旨の signal を発行して、
その signal (イベント)が必要なオブジェクトがそれを拾えば良い話

もちろん、signal を使わず数値を監視して enable/disable への切替は可能だけど

もはやQtの話じゃない
2017/05/24(水) 18:02:43.63ID:/PgniMpe
うちではTimer使ってやってる
156デフォルトの名無しさん
垢版 |
2017/05/25(木) 10:11:01.87ID:nE79I92l
timerで処理ってダイアログ閉じるタイミングで変更されたりしたら嫌だな
2017/05/25(木) 11:09:21.88ID:uhrRUtX4
QtCreaterのソースコードでキーボードカスタマイズを
実現してるUIがあるから参考になると思うよ
2017/05/25(木) 21:35:10.53ID:6ZItyO6p
QtCreatorでカッコやクォーテーションを勝手に補完するの止める方法ある?
特に範囲選択して文字を打てば置換して欲しいのに、選択範囲を勝手に囲むの
マジで作業効率悪い
2017/05/25(木) 21:35:43.87ID:6ZItyO6p
terか
2017/05/26(金) 00:48:30.99ID:c/JqeYBh
>>158
オプションの補完にそれぞれオフにするチェックボックスがある。
2017/05/26(金) 00:50:37.64ID:ojvhD5uG
オプション>テキストエディタ>Completionだな。
それからQt Creatorが正しい。
2017/05/26(金) 14:24:03.43ID:/9uRQuSE
Qt Creator で QLabel の背景色はどうやって変えるんですか?
文字の色は palette いじったら変わったけど。
コードで変える方法はググったらあるけど、色見ながら変えたい。
2017/05/26(金) 15:18:44.39ID:/9uRQuSE
あ、styleSheet でできました。
2017/05/27(土) 12:19:04.10ID:G9IVs/Lk
>>162
コードと同じで、トップレベルウィジェットでない場合にはautoFillBackgroundをtrueにするとpaletteの背景色が使われる。
2017/05/27(土) 16:26:59.57ID:4cZE/dpO
末端のWidgetならstylesheetプロパティに直書きでいいけど、
QFrameとかのフレーム系Widgetにそれやると、中に入れた子Widgetが全部変わってしまうから注意な。

そういう場合どうするかというと、より上位のフレームのstylesheetプロパティに
クラス名付きで修飾を入れる。例えばQPushButtonについて変えたいなら

QPushButton {
border: none;
}

などとやる。
2017/05/30(火) 14:50:59.13ID:6Su+ZuCJ
スレッドを requestInterruption() で中断させて、同じインスタンスをまた実行させると、
中断要求が残ってて即座に中断してしまう。requestInterruption() を受けたら exit() してしまって、
インスタンスは作りなおさないといけないの?
2017/05/30(火) 15:43:58.11ID:334s1ZU7
何やってるのかは知らないけど、大抵の場合は
QtConcurrent::Run+QFutureの組み合わせの方が扱いが楽よ。

途中終了とかもできるし。
まあ再開はできないから途中からやり直すという
コードを書く必要があるかもしれないが。
168デフォルトの名無しさん
垢版 |
2017/06/03(土) 02:24:13.51ID:f2qbH72v
記念カキコ
idにQtが出たので...
169デフォルトの名無しさん
垢版 |
2017/06/03(土) 06:18:32.38ID:o79y/oZ3
どこどこ
2017/06/03(土) 06:47:25.67ID:3clWUM84
idといえば、C++からQMLのidを指定して
任意の場所のvisible状態をC++側で取得する方法は?
2017/06/17(土) 19:16:26.95ID:dBxyMrx/
http://qiita.com/amay077/items/38ee79b3e3e88cf751b9
Xamarin.Formsがmacにもlinuxにも対応するってマジ?

最近はLinux用アプリでさえQtよりElectronを目にするようなってきたし、いよいよQtもオワコンかなぁ
2017/06/17(土) 20:45:35.08ID:vMjKwWc4
Javaのコーダーがあれだけ増えたのに、
デスクトップじゃいまだにVisualBasicの代替程度しかなれてないけどな
2017/06/17(土) 21:57:37.22ID:zSsDLH5L
ElectronじゃC++使えないじゃん
2017/06/17(土) 23:03:00.81ID:tjX69Ey+
デスクトップアプリは今後もQtを中心に使うけど、
スマフォ/タブレット用はXamarinにする予定でいる。

手元のアプリではだいたい44-47%は外部インターフェイスを持たないModel部の実装になるから、
これだけのボリュームがプラットフォーム非依存にできる利点は大きい。
2017/06/17(土) 23:59:32.82ID:SJko7C46
非依存でもQtありきってのがなぁ
2017/06/18(日) 04:18:04.11ID:stDA8hu1
Qtなんてただの道具なんだから、
使いたくなければ使わなきゃええねんで。

Model部はpure C++でも構わんだろ。
生産性がいくらか下がるだけの話だ。
177デフォルトの名無しさん
垢版 |
2017/06/18(日) 15:32:25.19ID:xPH4G83l
ほんそれ
2017/06/21(水) 20:33:46.03ID:q4L265CV
Qt SDKのexamples/widgets/gestures をWindows10で動かしてるんだけど、
pinchは反応してるけどpanとswipeは反応しないね。

これってこんなものなの?
2017/06/26(月) 22:14:29.72ID:lEyLgHV4
QMLについて調べてるんですが、.uiを使わずにこれを使う利点であるのでしょうか?
少し調べてみた限りでは面倒臭くなるだけに見えるで候
2017/06/26(月) 23:07:41.05ID:uFFYsDWn
1回使ったら二度と使いたくなくなる
2017/06/27(火) 07:34:52.49ID:jbbVXxr0
>>178
二本指してる?
182デフォルトの名無しさん
垢版 |
2017/06/27(火) 09:10:34.15ID:WuBzCuMJ
Qt Creatorの、Debug実行を行っているのか、exeを起動しているのか、判定する方法かifdefはありますでしょうか?
183178
垢版 |
2017/06/27(火) 09:40:29.58ID:9FJ950aK
>>181
公式Helpとサンプルの挙動を見る限り、pinchは2本以上の指でpanとswipeは1本指のように見えるんだが。
違うのかな。


>>182
qmakeのことを言ってるのかC++のことを言ってるのかで話は変わる。
184178
垢版 |
2017/06/27(火) 10:18:45.06ID:WuBzCuMJ
>qmake
>C++

どちらの実現でも、OKです。
C++ってのは、VC++ですが。

知りたいのは、出来上がったExeの挙動をリリース/デバッグで切り替えることではなくて、
QtCreatorで動作するときだけはある処理をスルーしたい(逆もできればますます便利)です。

ある処理とは具体的には、throwで、exeのときにはQApplicationのオーバーライドでcatchして
エラーメッセージがちゃんと出せるのに、
QtCreatorで実行すると、throwでドカンとアセンブラステップ画面に移動して、アプリがEND。
2017/06/27(火) 10:39:15.47ID:9FJ950aK
>>184
Qtに限らず、C++上では
_DEBUG プリプロセッサシンボルの定義状態によって判定するのが基本。

qmakeではconfig関数を使う。デバッグビルドであることはわかるけど
リリースビルドであることはわからないので ! 演算子を併用するとかやや意味不明な運用になってるね。

例外の下りだけど、どうも184のコードがおかしいような気がする。
そもそもQtはQT_NO_EXCEPTIONSが定義されていると例外機構が存在しないものとして動作したりするし。
例えばQException以外が飛んで来ることが想定できてないんじゃね?
2017/06/27(火) 11:05:47.35ID:64w1N/XC
>>184-185
昔 java が流行った頃にその手の挙動であった一例として。もしかするとこういう書き方をしてるかもしれない。

java の throws のつもりで関数定義のところに throw(XException) を書いてあって
関数内で XException 以外の例外が発生するとそこでコアダンプするというのがあった。

java: XException を投げる可能性があるので上位で対処を要求する書き方
void test() throws XException {
}

C++: XException 以外は投げられず、std::unexpected() に制御が移る
void test() throw(XExpception) {
}
187184
垢版 |
2017/06/27(火) 11:18:24.72ID:WuBzCuMJ
>>185

全然話が違っています。

デバッグコンパイルでも、リリースコンパイルでも、ただしくcatchできています。

ただ、QtCreatorで、throwのところで、デバッガーが止まるのが困ってるだけです。

前にも書いた通り、デバッグコンパイルのexe/リリースコンパイルのexe、を切り分けたいのでなく、

デバッガ―が止まらないように、でばっがーによる起動を判定したい、だけです。
2017/06/27(火) 11:23:13.30ID:9FJ950aK
>>187
184の文章ではcatchできているかできてないかの話に読めるし、
187の文章を見てもやはりcatchできなかったときのデバッガの挙動に見える。

自分の書いたコードとデバッガの挙動とが正しく把握できてないんじゃないかな。

実際のコードを単純化してgistとかに上げてみたらどうだい。
189187
垢版 |
2017/06/27(火) 11:25:51.04ID:WuBzCuMJ
catchの話は無かったことにしてください。

起動がExeなのか、QtCreatorデバッガ―なのか、の判定がプログラム中で知りたいです。
2017/06/27(火) 13:12:09.51ID:i4lW4rrf
>>189
実行するとき環境変数設定してgetenvしたらええんちゃうの
2017/06/27(火) 14:01:59.58ID:WuBzCuMJ
>実行するとき環境変数設定して

QtCreatorのデバッグのオプションで設定できるのでしょうか。
192デフォルトの名無しさん
垢版 |
2017/06/27(火) 15:19:46.03ID:uIJC4qRu
そろそろVisual Studio 2017に対応した?
2017/06/27(火) 21:44:59.72ID:KhuoEdOG
しかし、ここまで全角半角、大文字小文字、ひらがなカタカナ、
はたまた、ハイフンと長音記号が入り乱れてる文章はなかなかお目にかからないな

会話の前後も一致しないし、もしこれで日本人なら、
そもそものコードもちょっと心配
2017/06/28(水) 13:52:31.51ID:AJijq7Zo
変なのが着た。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況