我正在尝试使用新式属性声明:
class C(object):
def __init__(self):
self._x = 0
@property
def x(self):
print 'getting'
return self._x
@x.setter
def set_x(self, value):
print 'setting'
self._x = value
if __name__ == '__main__':
c = C()
print c.x
c.x = 10
print c.x
Run Code Online (Sandbox Code Playgroud)
并在控制台中查看以下内容:
pydev debugger: starting
getting
0
File "\test.py", line 55, in <module>
c.x = 10
AttributeError: can't set attribute
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?PS:旧式宣言工作正常.
Qt 具有灵活而强大的布局机制来处理桌面应用程序窗口的视图.
但它非常灵活,几乎无法理解,当出现问题并需要微调时.如此强大,它可以击败任何人,试图压倒Qt对形式应该如何看待的看法.
那么,任何人都可以解释,或提供文章或Qt定位机制的来源吗?
我试图强迫QLabel,QPushButton并且QTableView,在他们的名字尾随下划线标记,是高出两倍QTextBrowser有verticalStretch = 1以下.如何正确处理小部件的高度?
我们在应用程序中为一些典型的Grid使用实现了绑定.它工作得很好,除非您修改商店,例如添加记录,您将在视图中看到n +两个相同的记录.当我检查商店的状态时,它显示了n + 1个值.
好像我有一个网格,其中显示了一条记录并打电话:grid.getStore().add(modelFactory.createModel(event.getBean()));我现在有:
第二行和第三行相等,第三行不能选择.此外,它不存在grid.getStore().
资料来源:
freqsGrid = new AwesomeGridPanel() {
@Override
public void createColumns() {/**/}
};
freqBinding = AwesomeGridBinding.createGridBinding(freqsGrid, "frequencies");
Run Code Online (Sandbox Code Playgroud)
简单的绑定源.它将模型的List属性按原样映射到网格.
public class AwesomeGridBinding {
public static FieldBinding createGridBinding(AwesomeGridPanel grid, String property) {
return new FieldBinding(new AwesomeGridAdapterField(grid), property);
}
}
class AwesomeGridAdapterField<T> extends AdapterField {
protected AwesomeGridPanel grid;
private StoreListener<BeanModel> storeChangedListener;
public AwesomeGridAdapterField(AwesomeGridPanel grid) {
super(grid);
this.grid = grid;
configureGrid(grid, this);
}
@Override
public void setValue(Object value) {
List data;
if (value == null) …Run Code Online (Sandbox Code Playgroud) 我希望使用一种方法,当大多数应用程序命令保存在QActions中时,我可以轻松地将操作拖动到菜单,工具栏,按钮或任何其他内容中.所以,我需要实现这样一个按钮.编写一些类很容易,它会保存它,从中获取图标,文本,快捷方式和工具提示,并将clicked()连接到triggered().但我甚至无法将按钮的"动作"属性强加给设计师.似乎只有QVariant可保持类型可能出现在它的属性编辑器中.
但!巨魔以某种方式做到了,所以任务应该是可以实现的.那么,有什么建议吗?
我有 QTableView,由 QSqlRelationalTableModel 填充。应该在点击按钮时提交或恢复更改。当我编辑某行时,它会在编辑完成时更改视图中的状态,并在调用 submitAll() 时成功提交对数据库的更改。但是当我尝试删除行时,它仍然在视图中。这是插槽,连接到删除按钮:
def _removeSelectedStatuses(self):
'''
??????? ????????? ?????? ?? ???????
pre[self]: self._model is not None
'''
model = self.ConservationStatusesTableView.selectionModel()
l = model.selectedRows()
if not len(l): return
rows = set([i.row() for i in l])
rows = list(rows)
rows.sort()
first = rows[0]
count = len(rows)
self._model.removeRows(first, count)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我也是flash和web开发的新手.但我在c#/ c ++/Qt/python中有一些背景知识.所以,我想知道,什么是最快速潜入的最佳工具链.
我的任务是为facebook.com/vkontakte.ru写一个游戏.我已经拥有设计文档,伟大的艺术家和游戏设计师,因此,编码是我们遇到的唯一绊脚石.在服务器端没有重大障碍,但是,由于我们没有太多时间,我决定就合适的工具链定义提出一些帮助.
我认为,Web服务(可能是WCF)非常适合后端,因此,其中一些应该将JSON-ed数据从/向客户端传输,包含游戏逻辑,以及......这就是我所困的地方.接下来,我应该学习什么,哪些工具/工具集将提供学习/生产力曲线,即肉类最少行动原则.
也许我走错路,错过了一些基本的和明显的(对于网络开发者)的事情......我不知道,所以,任何建议都将受到高度赞赏.
qt ×3
qt-designer ×2
flash ×1
forms ×1
gridview ×1
gwt ×1
gxt ×1
java ×1
javascript ×1
pyqt ×1
python ×1
qt4 ×1
qtableview ×1