我有以下数据结构.
QList<QVariant> fieldsList
Run Code Online (Sandbox Code Playgroud)
我该如何排序这个清单?此列表包含字符串.我想fieldList按字母顺序排序?
在调试期间,我想看看等待我的程序的事件循环.它可能已经泛滥,我希望看到什么信号,没有(手动)向每个Q_EMIT添加特定的日志消息.
可能的解决方案可能是看一些包含事件队列的内部qt数据结构(有这样的事情吗?怎么样?)
要么 -
为每个发出的信号写一条日志信息(这可能吗?).
还有其他想法吗?
(Windows上的QT 4.8,使用visual studio 2012)
在一个简单的 Qt 应用程序中,如下所示:
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
app.setWindowIcon(QIcon(":/qapp/appicon.ico"));
...
Run Code Online (Sandbox Code Playgroud)
我们在第二行设置图标(这一行和资源中的图标文件是我的测试程序和Qt向导生成的应用程序的唯一区别)。这个应用程序在 Windows XP 上运行完美,但在 Windows 7 上我们看不到窗口左上角的图标(系统显示默认图标而不是我的 appicon.ico)。
开发者电脑配置:
更新:
开发者的操作系统是Windows XP,所以我们有一个临时的答案。当我们在装有 Windows 7 的计算机上编译此应用程序时,问题消失了(应用程序在 WinXP 和 Win7 上正确显示图标)。所以现在我们必须在 Windows 7 上编译这个应用程序的版本。但这看起来不是完美的解决方案。
你有什么想法,如何更好地解决这个问题?
我有一个网格布局,显示如下图所示的图像。我希望能够在任何位置交换两个图像。
层次结构是这样的:
ScrollArea->GridLayout->Label[n]->Pixmap
在代码中动态创建的网格布局中有n 个标签。
可以删除我想要的列/行中再次创建的所有内容,但我正在尝试找到一种更优雅的方法来执行此操作。有小费吗?
我正在使用QGraphicsView缩放标签上的图像.但是当我缩小时,我想为缩小设置一个特定的限制.我使用以下代码
scene = new QGraphicsScene(this);
view = new QGraphicsView(label);
QPixmap pix("/root/Image);
Scene->addPixmap(pixmap);
view->setScene(scene);
view->setDragMode(QGraphicsView::scrollHandDrag);
Run Code Online (Sandbox Code Playgroud)
在轮子事件的插槽
void MainWindow::wheelEvent(QWheelEvent *ZoomEvent)
{
view->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
double scaleFactor = 1.15;
if(ZoomEvent->delta() >0)
{
view->scale(scaleFactor,scaleFactor);
}
else
{
view->scale(1/scaleFactor,1/scaleFactor);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望图像在一定程度上不应缩小.我该怎么办?我尝试设置QGraphicsView的最小大小,但这没有帮助.
谢谢 :)
我写了一个用于测试数据库连接的qt小型控制台实用程序,代码块是:
db.setHostName("hostIP");
db.setDatabaseName("name");
db.setUserName("uid");
db.setPassword("pw");
db.setPort(1521);
while(true)
{
if (db.open())
{
qDebug()<<"OPEN";
db.close();
}
else
{
qDebug()<<"YOU MESSED UP "<<db.lastError().text();
}
}
Run Code Online (Sandbox Code Playgroud)
数据库关闭或无法连接的控制台输出可以在控制台输出中看到,我想要的也是开发时间戳.
有没有办法在控制台上打印事件时间戳以及qDebug消息???
我有一个QTableView记录很少,一行包含四列.我需要获取这4个索引值(名称,姓氏,年龄,用户名)以便将其删除SQLite,因此我需要将这四个值放入删除查询中.我希望点击的各项指标THAT行,并取回所有4个值.我该怎么做?谢谢
我必须解析一个包含数千条记录的大文件。我想显示一个进度条,但是我不知道提前录制的数量。我是否必须将此文件翻转两次?
还是有一种更简单的方法来获取记录数,而无需在处理之前遍历整个文件?
我的代码段:
void readFromCSV(const QString &filename){
int line_count=0;
QString line;
QFile file(filename);
if(!file.open(QFile::ReadOnly | QFile::Text))
return;
QTextStream in(&file);
while(!in.atEnd()){ //First loop
line = in.readLine();
line_count++;
}
while (!in.atEnd()) { //Second loop
...
line = in.readLine();
process();
...
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
这个问题与这里的问题不同:计算文本文件中的行数
1)循环过程已经完成。在这种情况下,可以防止双重射击。
2)该代码是QT代码,而不是作为冗余添加的C ++功能
qt ×8
c++ ×3
qfile ×1
qmodelindex ×1
qt-creator ×1
qt4 ×1
qt5 ×1
qtableview ×1
qvariant ×1
sorting ×1
sqlite ×1
timestamp ×1
windows-7 ×1
windows-xp ×1