博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
城市列表
阅读量:5023 次
发布时间:2019-06-12

本文共 2807 字,大约阅读时间需要 9 分钟。

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include 
#include 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
Q_OBJECT
 
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
 
private slots:
void on_addbutton_clicked();
 
void on_deletebutton_clicked();
 
void on_deleteAll_clicked();
 
void on_showdir_clicked();
void singleclickslot(QListWidgetItem*);
 
void doubleclickslot(QListWidgetItem*);
private:
Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_H
 
#include "mainwindow.h"
#include "ui_mainwindow.h"
//QListWidget  QListWidgetItem
#include 
#include 
//项
#include 
#include 
#include 
#include 
//获得文件
#include 
//添加图标
//双击信号接受不到
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
 
//默认列表显示   修改为图标显示
ui->listWidget->setViewMode(QListView::IconMode);
//连接 enter健
connect(ui->lineEdit,SIGNAL(returnPressed()),this,SLOT(on_addbutton_clicked()));
 
connect(ui->listWidget,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(singleclickslot(QListWidgetItem*)));
connect(ui->listWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(doubleclickslot(QListWidgetItem*)));
}
 
MainWindow::~MainWindow()
{
delete ui;
}
 
void MainWindow::on_addbutton_clicked()
{
//create item
QString cityname = ui->lineEdit->text();
QListWidgetItem *item= new QListWidgetItem;
//set item
item->setText(cityname);
//add item to listwidget
ui->listWidget->addItem(item);
ui->lineEdit->clear();
}
 
void MainWindow::on_deletebutton_clicked()
{
//delete      获得当前行的行的项
QListWidgetItem *item=ui->listWidget->takeItem(ui->listWidget->currentRow());
if(item!=NULL)
delete item;
}
 
void MainWindow::on_deleteAll_clicked()
{
int count=0;
while(1)
{
    //从第一行开始删除
QListWidgetItem *item=ui->listWidget->takeItem(count);
if(item!=NULL)
delete item;
if(ui->listWidget->count()==0)
{
 
qDebug()<<"clear ok!";
break;
}
}
}
 
void MainWindow::on_showdir_clicked()
{   //获得当前路径的文件
// QStringList filenames = QFileDialog::getOpenFileNames(this,"Open files",QDir::currentPath());
ui->listWidget->clear();
//获得文件夹路径
QDir dir=QDir::current();
QStringList filenames=dir.entryList();
if (filenames.size() == 0)
{
QMessageBox::information(this,"Error","No file select");
return;
}
for(int index=0;index
{//不显示  .. .
if(filenames.at(index)=="."||filenames.at(index)=="..")
continue;
 
QListWidgetItem *item = new QListWidgetItem;
item->setText(filenames.at(index));
//添加到部件列表
ui->listWidget->addItem(item);
}
}
 
void MainWindow::singleclickslot(QListWidgetItem* item)
{
QMessageBox::information(this,"information","single click"+item->text());
}
 
void MainWindow::doubleclickslot(QListWidgetItem* item)
{
QMessageBox::information(this,"information","double click"+item->text());
}
 
 
 

转载于:https://www.cnblogs.com/countryboy666/p/11067831.html

你可能感兴趣的文章
vim如何配置go语言环境
查看>>
机器学习好网站
查看>>
python 中的 sys , os 模块用法总结
查看>>
解题:国家集训队 Middle
查看>>
响应者链
查看>>
指针从函数内部带回返回值
查看>>
在使用webView播放flash或视频文件时无法关闭声音的问题
查看>>
redhat 7 源码安装 mysql5.5.49
查看>>
CCP浅谈
查看>>
NAT虚拟网络配置
查看>>
c#部分---需要实例化的内容;
查看>>
销售类
查看>>
技术项目,问题
查看>>
线程池总结
查看>>
Learning to rank (software, datasets)
查看>>
git常见问题
查看>>
.NETFramework:template
查看>>
HM16.0之帧内模式——xCheckRDCostIntra()函数
查看>>
Jmeter性能测试 入门
查看>>
安卓动画有哪几种?他们的区别?
查看>>