我需要stackoverflow的一些智慧.
我将开发一个GUI应用程序,它将通过表单处理xml数据.我选择了两个选项:Java(swing或swt)或Qt.
我已经尝试过Qt(Qt设计师)和Java(Eclipse)的基础教程.我必须承认,两者都将满足我的需求.
我要解决的最后一个问题是部署会有多痛苦?
最终用户是非技术人员,因此安装和更新过程必须简单.
Java具有Java Web Start,易于更新; 如果没有JVM需要,Qt可能会更"打包".
你怎么看 ?优缺点都有什么 ?
非常感谢
我是桌面应用程序开发的新手,今年夏天我有一个非常大的项目.问题是代码必须非常清晰,所以当我更新代码时,我不会遇到麻烦.
结果,我想要一个良好的"关注点分离".对我来说最困难的部分是视图 - 控制器分离.
现在,我已经阅读了很多教程,讨论等.我已经以3种不同的方式设计了一个迷你应用程序.该应用程序很简单:单击将标签转换为"Hello world"的按钮.
你怎么看待这3个设计?
有没有更好的设计来满足我的期望?
View1.java:
public View1() {
initComponents();
this.controller = new Controller1(this);
}
private Controller1 controller;
public void updateLabel(String message){
this.jLabel1.setText(message);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
this.controller.doSomething();
}
private void initComponents() {
...
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
...}
Run Code Online (Sandbox Code Playgroud)
Controller1.java:
public class Controller1 {
public Controller1(View1 v){
this.view = v;
}
public void doSomething(){
this.view.updateLabel("Hello world");
}
private View1 view;
}
Run Code Online (Sandbox Code Playgroud)
View2.java:
public View2() {
initComponents(); …Run Code Online (Sandbox Code Playgroud) 我有一个日期/字符串 TreeMap,我想遍历 N 最后一个条目。
TreeMap<Date,String> map = new TreeMap<Date,String>();
map.put(new Date(2011,1,1), "32,1");
map.put(new Date(2011,3,1), "35");
map.put(new Date(2011,4,5), "38,9");
map.put(new Date(2011,8,2), "57!!");
Run Code Online (Sandbox Code Playgroud)
那我迷路了。我发现了这个:
NavigableSet<Date> dates = donnees.descendingKeySet();
Run Code Online (Sandbox Code Playgroud)
然后我不知道该怎么说:
for(key in dates and i ; i from 0 to N)
{ do something }
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
我有一个简单的课程:
class Weather_data():
def __init__(self, latitude=None, longitude=None, date=None):
self.latitude = latitude,
self.longitude = longitude,
self.request_date = date
Run Code Online (Sandbox Code Playgroud)
当我构造一个对象时,我将一个单例记录为纬度或经度:
>>> w2=Weather_data(1.3,1.9,datetime.datetime.now())
>>> w2.latitude
(1.3,)
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
额外奖励:我有另一堂课:
class Pricer():
def __init__(self, realization_date=None, latitude=None, longitude=None, amount_covered=None):
self.realization_date = realization_date
self.latitude = latitude
self.longitude = longitude
Run Code Online (Sandbox Code Playgroud)
当我收缩一个物体时,我得到一个不是元组的浮点数:
>>> p2=Pricer(datetime.datetime.now(),1.3,1.9,100)
>>> p2.latitude
1.3
Run Code Online (Sandbox Code Playgroud)
我不知道这两个班级之间的区别.
java ×3
architecture ×1
auto-update ×1
class ×1
deployment ×1
python ×1
qt ×1
swing ×1
treemap ×1