QT常用类

1. ListWidget类

listWidget = QListWidget() #实例化一个(itembase)的列表

listWidget.addItem('dd') #添加一个项

listWidget.addItems([]) # 从序列中添加子项

listWidget.setDragEnabled(True)#设置拖拉

listWidget.sortItems() #排序

listWidget.selectAll()全选

listWidget.setSortingEnabled(bool)#设置自动排序

listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)#设置选择模式

选择模式有:ExtendedSelection 按住ctrl多选,SingleSelection 单选 MultiSelection 点击多选 ContiguousSelection鼠标拖拉多选

listWidget.setCurrentRow(0) 设置当前选择行默认为-1

listWidget.count() #得到子项总数

listWidget.item(row).text() #得到第 row行的内容 listWidget.item(row) 返回一个item 对象

listWidget.takeItem(row) #返回row 行的所在的item 对象 可以用在 insertItem()中

listWidget.insertItem(2,item) #在第二行插入一项item 可谓为一个listviewitem对象 或者string

listWidget.setCurrentItem('dd')#设置'dd'为当前项

listWidget.selectedItems() 返回一个包含item对象 的list 对象

修改item 的内容

item.setText('dsds') # 设置item的内容为dsdsitem为对象 可从 listWidget.item(row) takeItem(row) 得到


QListWidget的用法

 

setSelectionMode()设置list一次最多可以选择多少item

有两种方法来listwidget中添加Item,一种是在item构造时候,指定父widget,
如果item构造时候QListWidget已经存在,可以用下面的方法
new QListWidgetItem(tr("Oak"), listWidget);


第二种方法是构造完item,在使用QListWidget::addItem()来添加item

 

向QListWidget中指定的位置插入item,使用QListWidget::insertItem(int , QListWidgetItem*)

 

使用QListWidget::count()来统计widget中总共的item数目
使用QListWidget::takeItem(int index)来删除表中的某一项
打开和关闭item是否可以编辑使用QListWidget::openPersistentEditor(QListWidgetItem*)和

QListWidget::closePersistentEditor(QListWidgetItem*)
设置当前的item是第几行,QListWidget::setCurrentRow ( int row )
设置list是否可以自动排序QListWidget::setSortingEnabled(bool),默认是FALSE

 

从list中查找是否含有某一项,
QList<QListWidgetItem *> QListWidget::findItems ( const QString & text, Qt::MatchFlags flags ) const


信号


void currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
void currentRowChanged ( int currentRow )
void currentTextChanged ( const QString & currentText )
void itemActivated ( QListWidgetItem * item )
void itemChanged ( QListWidgetItem * item )
void itemClicked ( QListWidgetItem * item )
void itemDoubleClicked ( QListWidgetItem * item )
void itemEntered ( QListWidgetItem * item )
void itemPressed ( QListWidgetItem * item )
void itemSelectionChanged ()

selectedItems() 方法,获取被选中的项,可以是多项

当item改变时候,会发射信号currentItemChanged 、currentRowChanged、currentTextChanged 、itemSelectionChanged 、itemChanged ,感觉这些信号其实效果都是一样的,只不过用在不同的时候


2. TextEdit 类

设置TextEdit的内容为“”:text.setPlainText("")

获取TextEdit的内容:text.toPlainText()


3. ComboBox 类

ComboBox类详细介绍: http://book.51cto.com/art/201203/323502.htm

fromComboBox = QComboBox() 添加一个 combobox

 fromComboBox.addItem(rates) 添加一个下拉选项

fromComboBox.addItems(["%d years" % x for x in range(2, 26)]) 从序列中添加

fromComboBox.setMaxVisibleItems(10) #设置最大显示下列项 超过要使用滚动条拖拉

fromComboBox.setMaxCount(5) #设置最大下拉项 超过将不显示

fromComboBox.setInsertPolicy(QComboBox.InsertAfterCurrent) #设置插入方式

插入方式有:NoInsert,InsertAtTop,InsertAtCurrent,InsertAtBottom,InsertAfterCurrent

InsertBeforeCurrent,InsertAlphabetically字面意思都好理解 最后一个是按字母表顺序插入

QComboBox 发出一个currentIndexChanged(int) 的信号.

QComboBox 得到当前项 currentIndex() + 1 #QComboBox 默认的currentIndex为 -1

setCurrentIndex可以来设置当前的项

QVariant QComboBox::itemData ( int index, int role = Qt::UserRole ) const 返回给定index处的数据

QComboBox.findText('dsfds') #返回 内容为dsfds的索引

QComboBox.setEditText()设置下拉列表要显示的可编辑内容

QComboBox 得到当前项文本内容 currentText()

当QComboBox当前项发生变化时候,它会发出信号currentIndexChanged(int i),i是改变后当前项的下标,可以编写SLOT来处理

设置ComboBox为可编辑下拉列表框:fromComboBox.editable = true

设置第一项为当前项目: fromComboBox.setCurrentIndex(0)


4. LineEdit 类

将LineEdit框设置成密码输入框:line.setEchoMode(QLineEdit::Password)

获取linedit的值: line.text()

给lineedit 赋值为空: line.setText()


5. MessageBox 类

实例介绍:(实现提示框)

@kuang = Qt::MessageBox.new(Qt::MessageBox::NoIcon, "提示", "登录成功!", 0, self)

@kuang.addButton("确定",Qt::MessageBox::AcceptRole)

@kuang.exec()

这样就可以创建一个提示登录成功的窗口。(注:这是在QtRuby 中的相关代码。)


6. TabelWidget类

设置行表头隐藏:

verticalHeader().setVisible(false);

设置列表头隐藏:
horizontalHeader().setVisible(false);

你可能感兴趣的:(QT常用类)