当前位置: 首页>>代码示例>>Python>>正文


Python KListView.contentsY方法代码示例

本文整理汇总了Python中kdeui.KListView.contentsY方法的典型用法代码示例。如果您正苦于以下问题:Python KListView.contentsY方法的具体用法?Python KListView.contentsY怎么用?Python KListView.contentsY使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在kdeui.KListView的用法示例。


在下文中一共展示了KListView.contentsY方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: MainWindow

# 需要导入模块: from kdeui import KListView [as 别名]
# 或者: from kdeui.KListView import contentsY [as 别名]

#.........这里部分代码省略.........
            if called_externally:
                # if this method is called from dcop, name will be
                # a QString, so we make it python string
                name = str(name)
                if name not in self.game_names:
                    KMessageBox.error(self, '%s is not a valid game name.' % name)
                else:
                    if self.name_title_view is 'name':
                        # this is the easy part
                        # the 0 in the second arg means column
                        item = self.listView.findItem(name, 0)
                    else:
                        # we're using titles, so we have to get it
                        title = self.game_titles[name]
                        item = self.listView.findItem(title, 0)
                        # here True means select, False means unselect
                        self.listView.setSelected(item, True)
                        # calling setSelected will emit the selection changed signal
                        # which will result in this method being called again, although
                        # internally this time.
                    self._make_listitem_visible(item)
                    
        
            else:
                # we only change the textView for internal calls
                self.textView.set_game_info(name)
                
    # here we make the selected item visible on the list
    # if it's not currently visible
    def _make_listitem_visible(self, item):
        item_pos = item.itemPos()
        # contentsY is the position in the contents that
        # is at the top of the visible area
        contentsY = self.listView.contentsY()
        # contentsHeight is the height of the full list
        contentsHeight = self.listView.contentsHeight()
        # visibleHeight is the height of the visible part of the list
        visibleHeight = self.listView.visibleHeight()
        # visible_range is the interval defining the contents positions
        # that are visible
        visible_range = range(contentsY, contentsY + visibleHeight)
        # here we test whether the item position is in the range of
        # visible positions, and if not, we scroll the listview to make it so.
        if item_pos not in visible_range:
            self.listView.setContentsPos(0, 0)
            self.listView.scrollBy(0, item_pos)
            
    def slotNewGame(self):
        if self.new_game_dir_dialog is None:
            main_dosbox_path = self.myconfig.get('dosbox', 'main_dosbox_path')
            dlg = KDirSelectDialog(main_dosbox_path, 0, self)
            dlg.connect(dlg, SIGNAL('okClicked()'), self.new_game_path_selected)
            dlg.connect(dlg, SIGNAL('cancelClicked()'), self.destroy_new_game_dir_dlg)
            dlg.connect(dlg, SIGNAL('closeClicked()'), self.destroy_new_game_dir_dlg)
            dlg.show()
            self.new_game_dir_dialog = dlg
        else:
            KMessageBox.error(self, opendlg_errormsg)

    def slotLaunchDosbox(self, game=None):
        self._launchdosbox_common(game, launch_game=True)

    def slotLaunchDosboxPrompt(self, game=None):
        self._launchdosbox_common(game, launch_game=False)

    def slotLaunchMainDosboxPrompt(self):
开发者ID:BackupTheBerlios,项目名称:dosbox-pykde-svn,代码行数:70,代码来源:mainwindow.py


注:本文中的kdeui.KListView.contentsY方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。